home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr52 / tmcelsw1.zip / TMCEL.MAN < prev    next >
Text File  |  1993-04-07  |  97KB  |  3,289 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                     TMCEL - 1.4
  14.  
  15.                         Ted Mieske Clipper Engineers Library
  16.                                                        
  17.  
  18.  
  19.                         Written by: Ted J. Mieske                
  20.  
  21.                Portions by: Bill Parker & Stefan Hanson
  22.  
  23.  
  24.  
  25.                                  ┌─────────┐                  
  26.                            ┌─────┴───┐     │              (tm)
  27.                          ──┤         │o    ├──────────────────
  28.                            │   ┌─────┴╨──┐ │  Association of  
  29.                            │   │         ├─┘  Shareware       
  30.                            └───┤    o    │    Professionals   
  31.                          ──────┤    ║    ├────────────────────
  32.                                └────╨────┘     * APPLIED FOR *
  33.  
  34.  
  35.  
  36.                     
  37.  
  38.  
  39.  
  40.  
  41.  
  42.             S H A R E W A R E   V E R S I O N
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.           Copyright (c) 1991, 1992 by Ted J. Mieske.  All Rights Reserved.
  61.  
  62.         T.M.                                            07/08/92
  63.  
  64.     Current functions in TMCEL:
  65.  
  66.  
  67. ELEC:
  68. √     1.    COO()        - calculates Cost of Operation of Elec. Device
  69.  
  70. √     2.    EIR()        - convert Current/Resistance to Voltage
  71.  
  72.      3.    EPI()        - convert Wattage/Current to Voltage
  73.  
  74.       4.    EPR()        - convert Wattage/Resistance to Voltage
  75.  
  76.      5.    F2M()        - convert Frequency to Meters
  77.  
  78.      6.    IER()        - convert Voltage/Resistance to Current
  79.  
  80.      7.    IPE()        - convert Wattage/Voltage to Current
  81.  
  82. √     8.    IPR()        - convert Wattage/Resistance to Current
  83.  
  84.      9.    LRC()        - LED Resistor Calculator
  85.  
  86.     10.    M2F()        - convert Meters to Frequency
  87.  
  88.     11.    PEI()        - convert Voltage/Current to Wattage
  89.  
  90.     12.    PER()        - convert Voltage/Resistance to Wattage
  91.  
  92. √    13.    PIR()        - convert Current/Resistance to Wattage
  93.  
  94.     14.    R2()        - calculate the value of 2 parallel resistors
  95.  
  96.     15.    REI()        - convert Voltage/Current to Resistance
  97.  
  98.     16.    REP()        - convert Voltage/Wattage to Resistance
  99.  
  100.     17.    RPI()        - convert Wattage/Current to Resistance
  101.  
  102.     18.    VA2W()        - converts Volt-Amperes to Watts
  103.  
  104.     19.    W2VA()        - converts Watts to Volt-Amperes
  105.  
  106.  
  107.  
  108. AUDIO:
  109.      1.    OGC()        - Op-amp Gain Control calculation
  110.  
  111.      2.    PHONTONE()    - display & produce ALL tone-pairs of phone
  112.  
  113.      3.    RDT60()        - reverberation delay time at a 60db drop
  114.  
  115.      4.    SNGLTNE()    - produce (1) tone-pair of the phone system
  116.                   
  117.      5.    VDELAY()    - velocity delay of sound in seconds
  118.  
  119.      6.    WAVDIST()    - wavelength of a specific freq. in distance
  120.  
  121. MATH:
  122. √     1.    ATN()        - ARCTANGENT math function
  123.  
  124.      2.    BIN2DEC()    - convert from BINary to DECimal
  125.  
  126.      3.    BIN2HEX()    - convert from BINary to HEX
  127.  
  128.      4.    CHKAMNT()    - convert an numeric dollar amount to text
  129.  
  130.      5.    COS()        - COSINE math function
  131.  
  132.      6.    DEC2BIN()    - convert from DECimal to BINary
  133.  
  134.      7.    DEC2HEX()    - convert from DECimal to HEX
  135.  
  136. √     8.    DEG()        - will return the DEGREES of a Radian number
  137.  
  138.      9.    HEX2BIN()    - convert from HEX to BINary
  139.  
  140.     10.    HEX2DEC()    - convert from HEX to DECimal
  141.  
  142.     11.    KTOM()        - convert Kilometers to Miles (statute)
  143.  
  144. √    12.    LOG10()        - LOG10 math function
  145.  
  146.     13.    MOD()        - returns the modulus of  X MOD Y
  147.  
  148.     14.    MTOK()        - convert miles (statute) to Kilometers
  149.  
  150. √    15.    NODIV0()    - keeps one from the dreaded Divide-by-Zero
  151.  
  152. √    16.    PI()        - just returns PI π, or PI(n) for n # of times
  153.  
  154.     17.    POWER()        - raise a specific number, to a specific Power
  155.  
  156.     18.    RAD()        - will return the RADIANS of a Degree number
  157.  
  158.     19.    RANDUM()    - a random number generator
  159.  
  160. √    20.    ROUNDIT()    - replaces the ROUND() function of Clipper!
  161.  
  162.     21.    SGN()        - returns the SIGN of a number
  163.  
  164.     22.    SIN()        - SINE math function
  165.  
  166.     23.    SQR()        - returns the SQUARE of a number
  167.  
  168.     24.    TAN()        - TANGENT math function
  169.  
  170.  
  171. DATE/TIME:
  172. √     1.    BOM()        - begining of month
  173.  
  174.      2.    BONM()        - begining of next month
  175.  
  176.      3.    BOPY()        - begining of previous year
  177.  
  178.      4.    BOW()        - begining of week
  179.  
  180.      5.    BOY()        - beginning of year
  181.  
  182. √     6.    DATETST()    - check to see if a date field is empty
  183.  
  184. √     7.    DTOW()        - convert a numeric date to month with words
  185.  
  186.      8.    EOLM()        - end of last month
  187.  
  188.      9.    EOM()        - end of month
  189.  
  190.     10.    EOPY()        - end of previous month
  191.  
  192.     11.    EOW()        - end of week
  193.  
  194.     12.    EOY()        - end of year
  195.  
  196.     13.    JULDAYS()    - display current/past Julian days
  197.  
  198.     14.    LEAPYR()    - will return True/False on a Leap Year
  199.  
  200.     15.    MNTHCAL()    - display one month, with or without a window
  201.  
  202.     16.    NDIN2Y()    - gives the # of days were into a year
  203.  
  204.     17.    NDINM()        - number of days in a chosen month
  205.  
  206.     18.    THETIME()    - display the Standard time, with A.M., P.M.
  207.  
  208. √    19.    TTOW()        - convert time of day, into appropriate word
  209.  
  210.     20.    VLDDATE()    - point to a valid date
  211.  
  212.     21.    WOFM()        - find week of the month
  213.  
  214. √    22.    YRDATE()    - returns the year as 2 or 4 digits
  215.  
  216.  
  217. WINDOWS:
  218.      1.    ADVRTIZE()    - top-to-bottom message strober
  219.  
  220. √     2.    BOXIT()        - draw a simple box on console
  221.  
  222.      3.    BYEWIN()    - blows-off the window
  223.  
  224.      4.    CENTER()    - center a msg. on the console
  225.  
  226.      5.    CHKCOLR()    - test for color monitor with optionional 
  227.                                   colors
  228.  
  229.      6.    CLRTHIS()    - clear the console with special effects
  230.  
  231.      7.    DROPBOX()    - drop-down box onto console
  232.  
  233.      8.    DROPCHR()    - Drop characters on console to certain position
  234.  
  235. √     9.    ERRMSG()    - Display an error message
  236.  
  237.     10.    EXPAND()    - expand a sentence out, from the center
  238.  
  239.     11.    HIBAKBIT()    - used to either Blink, or set Hi-Intensity 
  240.                   Bit ON, for Background Colors
  241.  
  242.     12.    KILBOX()    - delete box instantly on console
  243.  
  244.     13.    KILWIN()    - implode the exploded window
  245.  
  246.     14.    MAKBOX()    - instant box on the console
  247.  
  248.     15.    MAKWIN()    - explode a window on the console
  249.  
  250.     16.    POPBOX()    - pop-up box onto console
  251.  
  252. √    17.    SCANUP()    - roll-up text on the console
  253.  
  254.     18.    SHADWIN()    - add a Window with a shadow
  255.  
  256.     19.    STRECH()    - strech-out a line of text (i.e. T E X T)
  257.  
  258.     20.    TICKERT()    - performs a right-to-left character scan
  259.  
  260.     21.    VMENU()        - verticle display menu system
  261.  
  262. √    22.    YESNO()        - ask a Yes/No question
  263.  
  264.     23.    YESNO2()    - ask a Yes/No question #2
  265.  
  266. EVIRON:
  267.      1.    CTOF()        - convert Celsius to Fahrenheit
  268.  
  269.      2.    FTOC()        - convert Fahrenheit to Celsius
  270.  
  271.      3.    HPWF()        - calculates to horsepower of a waterfall
  272.  
  273.      4.    L2THD()        - calculate distance from time between seeing
  274.                                   Lightning, and hearing Thunder
  275.  
  276.      5.    WNDCHIL()    - calculates the WindChill Factor
  277.  
  278.  
  279.  
  280. NETWORK:
  281.  
  282.      1.    FILELOK()    - Will Lock a File on a Network
  283.  
  284.      2.    NETAVL()    - Will check to see if a File is available
  285.                   to set EXCLUSE or SHARED
  286.  
  287.      3.    RECLOK()    - Will Lock a Record on a Network
  288.     
  289.  
  290.  
  291. TOOLS:
  292. √     1.    AGE()        - calculate any Age, from any Date
  293.  
  294.      2.    ALARMS()    - collection of various Alarms - Bells - Tunes
  295.     
  296.      3.    ANSICHK()    - checks to see if ANSI.SYS is loaded
  297.  
  298. √     4.    BEEPS()        - sound a tone n times at 1-second intervals
  299.  
  300.      5.    CHKCNFG()    - checks your Files & Buffers for a specific #s
  301.  
  302.      6.    CHKENV()    - checks "SET CLIPPER=" for specific values
  303.  
  304.      7.    CHKMEM        - display amount of current memory inside a
  305.                                   program  [ CALL EXTERNAL ]
  306.  
  307. √     8.    DELAY()        - will delay specific # of seconds on any PC
  308.  
  309.      9.    DSKCHK()    - checks to see if enough FREE space is
  310.                   on a disk to do a file backup.
  311.  
  312.     10.    FLDCNT()    - counts the number of fields in a database
  313.  
  314.     11.    INDXBAR()    - shows how far into an index, with graph-bar
  315.  
  316.     12.    INT2STR()    - convert an integer to a string
  317.  
  318. √    13.    LIN()        - used to skip n lines on printer or console
  319.  
  320.     14.    MSGON()/OFF()    - display a message with a Flashing Elipses
  321.                   
  322.     15.    PADLEFT()    - pad a character string left with a fill char.
  323.  
  324.     16.    PADRGHT()    - pad a character string right with a fill char.
  325.  
  326. √    17.    PADSPAC()    - pad a character string with spaces, or chop
  327.  
  328.     18.    PASSCHK()    - password checker
  329.  
  330.     19.    PERCENT()    - Displays a %, of how far into a PACK/USEs
  331.  
  332.     20.    PICKIT()    - Picklist validator - for ACHOICE()
  333.  
  334.     21.    PRNTOK()    - checks on status of Printer
  335.  
  336. √    22.    PRTOF()        - checks to see if Printer is at TOF, else 
  337.                                   ejects
  338.  
  339.     23.    PULLOUT()    - pullout any data from a specific position
  340.                   in a string.
  341.  
  342.     24.    RANDFIL()    - random file creater
  343.  
  344.     25.    SERIAL()    - returns the serial number of your TMCEL.LIB
  345.  
  346.     26.    THEPATH()    - will seek and display the PATH of a file
  347.  
  348. √    27.     VERTMCL()    - returns version of TMCEL.LIB
  349.  
  350.     28.    VLD_ST()    - Validates a STates 2-digit code
  351.  
  352.     20.    VLD_AC()    - Validates a phones Areacode number
  353.  
  354.     30.    VLD_CAN()    - Validates a Canadian Province Code
  355.  
  356.  
  357.  
  358.  √ = available ONLY; (26 functions) in ShareWare version.
  359.  
  360.               ┌───────────────────────────────────────────────────────┐
  361.             ┌─┘ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
  362.           ┌─┘ ▒▒▓▓                                                 ▓▓ │
  363.           │ ░░▒▒▓▓           TMCEL LIBRARY - Version 1.4           ▓▓ │
  364.           │ ░░▒▒▓▓    Clipper Electronic Library for: Engineers    ▓▓ │
  365.           │ ░░▒▒▓▓     Copyright (c) 1991,92 by: Ted J. Mieske     ▓▓ │
  366.           │ ░░▒▒▓▓                                                 ▓▓ │
  367.           │ ░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │
  368.           │ ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ┌─┘
  369.           │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ┌─┘
  370.           └───────────────────────────────────────────────────────┘
  371.  
  372.  
  373.  
  374.      Why this Library?  Well sure, you see libraries that will control
  375.      your Printer, make Boxes, handle Arrays or a number of Date func-
  376.      tions, but; have you ever seen a .LIB that would perform extensive 
  377.      Time, Date, HP Laser Printer, Environmental, Electronic, Ham Radio 
  378.      or Audio formula calculations?  How about instant-display of sche-
  379.      matic circuits and diagrams for reference, or display and hear the 
  380.      frequencies of a telephone? (sort-of!)
  381.  
  382.      We put 2 years into this pup, and except for 4 modules that had to
  383.      be written in 'C' or .ASM, the rest is pure Clipper code!  Although
  384.      we have moved into the realm of 5.0x and GUI and ... well you know.
  385.      The first release will be for Clipper Summer '87.  We did this for
  386.      the simple reason that a number of you just don't want to switch,
  387.      and we WANT your business too!
  388.  
  389.      I kept this intro short, so as not to: (1) bore you, and (2), get
  390.      to the heart of its functions and use... Although it is being offer-
  391.      ed as 'SHAREWARE'... (you know this was comming)!  To get the source
  392.      code and the rest of the fucntions ... send your bucks!  We will do
  393.      the rest.
  394.  
  395.       EXTRA'S! 
  396.  
  397.      There are a number of functions that ARE-NOT listed, but will be
  398.      included in the shareware and registered version. See !README.DOC
  399.  
  400.  
  401.      Also send in your ideas or modifications that you need or fixes that
  402.      we missed. We want you a happy camper so we can sell a few of these,
  403.      and get moved back to the West Coast.  (I HATE BEING LAND-BOUND, I
  404.      *NEED* MY OCEAN, CLEAN-AIR, AND NON-SMOKERS BACK!!!!!)
  405.  
  406.      In time, I will have a direct BBS for support, for the time being,
  407.      you can call: SILICON ALLY at (817)294-4566 for updates and com-
  408.      plaints (sure we take those too!)  They have offered to do this for
  409.      us, and you can leave mail directly to me. If for some reason they
  410.      'close shop', we will PostCard you another location.
  411.  
  412.  
  413.  
  414.       FUTURE ITEMS 
  415.  
  416.      I am already working on interfacing the outside world for the next
  417.      version of TMCEL.LIB!  I have planed, an IN() and OUT function like
  418.      BASIC Programs have; this way, you can do D/A and A/D, or control
  419.      projects such as home security systems, open/close blinds, start
  420.      the java in the morning... how about automating some operation or
  421.      calling and polling a remote site for collecting data. And MORE,
  422.      how about data aquisition control or automate that model RailRoad!
  423.  
  424.      Mouse support will also be added, as well as reading various types
  425.      of picture files: .GIF, .PCX, .TIFF ... etc. etc.
  426.  
  427.      
  428.      NOTE: You will find a separate file called: TMCELBN.DOC
  429.            which lists SOME of the various Schematic screens
  430.            used in performing calculations, as well as look-
  431.            up tables for reference...these are in the regis-
  432.            tered version.
  433.  
  434.  
  435.  
  436.       HERE GOES! 
  437.  
  438.  
  439.       LAST MINUTE INFO 
  440.  
  441.      As usual, for last-minute updates, read the !README.DOC file that
  442.      is located on the disk, or in the .ZIP file  *FIRST*.
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.       CORRESPONDENCE 
  450.  
  451.      To write us, address your input to: T.M.S. Micro
  452.                                          209 Hurstview Dr.
  453.                                          Ft. Worth, TX  76053-6726
  454.  
  455.  
  456.  
  457.  
  458.       LINKING the .LIB 
  459.  
  460.      Before Compiling/Linking we would like to suggest that some
  461.      environment variables be set *FIRST*, as follows in your 
  462.      AUTOEXEC.BAT:
  463.  
  464.      SET CLIPPER=F65,V22,R26,E0
  465.  
  466.      The reason for the F65, is for network purposes, you may want
  467.      to ajust this down to F41 on standalone systems.  Setting "V" &
  468.      "R" are up to you.  We have found that if "E" is set to Zero (0),
  469.      you will avoid the posiblilty of a "System Crash", do to the 
  470.      dreaded "OUT OF MEMORY" or Index's-corrupting-for-*NO*-appearent
  471.      -reason syndrome! 
  472.  
  473.  
  474.  
  475.      We *ONLY* work with just one, and that is Blinker!  A two second
  476.      re-link beats the "P - word" linker, that will take 7-20 minutes,
  477.      so why use it?  GO FIGURE ... If you use another, that's up to
  478.      you; so here's the command sequence for Blinker on the command 
  479.      line:
  480.  
  481.      BLINKER FI <files>  LI TMCEL, CLIPPER, EXTEND  <--<< order IS important!
  482.  
  483.      ------------------------------------------------------------------
  484.  
  485.      From a batch (.BAT) file, our example would look like this:
  486.  
  487.      BLINK.BAT - the following lines are in this .BAT:
  488.  
  489.      CLIPPER %1
  490.      BLINKER FI %1  LI TMCEL, CLIPPER, EXTEND
  491.      DEL %1.OBJ
  492.  
  493.      ------------------------------------------------------------------
  494.  
  495.      BLINK1.BAT - another approach when using a .LNK file:
  496.  
  497.      CLIPPER %1
  498.      BLINKER @FILENAME.LNK      <--<< the .LNK is NOT necessary
  499.  
  500.      The FILENAME.LNK would have the following layout:
  501.  
  502.      #BLINKER INCREMENTAL OFF   <--<< remove the '#' sign to save
  503.      FI %1                            .EXE size; of course, you will
  504.      LI TMCEL                         LOOSE line numbers on errors.
  505.      LI CLIPPER, EXTEND
  506.  
  507.      So there are a few simple ways to handle the process.
  508.  
  509.  
  510.  
  511.       SO YOU WANT TO MAKE YOUR *OWN* LIBRARY ... HERE'S HOW 
  512.  
  513.      You should have a copy of LIB.EXE 3.17 or newer. Older versions
  514.      will cause a "1005:lib. has NO cross reference", annoying error
  515.      from Blinker, but is NOT critical!
  516.      The Syntax would be: LIB <LIBNAME> <SWITCHS+OBJECT> ;
  517.  
  518.      EXAMPLE: LIB TMCEL -+_MODULE1 -+_MODULE2 -+_MODULE3 ;      
  519.  
  520.      This will create/update TMCEL.LIB with the list of .OBJ files
  521.      you passed it.  SIMPLE!
  522.  
  523.  
  524.      The steps are as follows:
  525.  
  526.      1. Compile your FILENAME.PRG file (some may require the -m switch),
  527.         so that only the main modules is compiled.
  528.  
  529.      2. Add/Update the module (.OBJ) to your library     
  530.  
  531.      List of switchs:        +    add .OBJ to the Library
  532.                                 -    remove .OBJ from the Library
  533.                                 *       extract .OBJ name without removing
  534.                    -+    replace .OBJ in the Library
  535.                                -*       extract .OBJ and remove from Library
  536.  
  537.     
  538.  
  539.       THE LAYOUT 
  540.  
  541.      The library is broken down into groups of related use, so you 
  542.      can find a function fast. They are:
  543.  
  544.      ■ ELECTRONIC             ■ AUDIO                  ■ MATH        
  545.      ■ WINDOWS                ■ DATE/TIME              ■ TOOLS      
  546.      ■ SCHEMATIC/DIAGRAMS     ■ NETWORK
  547.  
  548.      So lets go through them one group at a time ...
  549.  
  550.  
  551.  
  552.                                                      ■ELECTRONIC 
  553.         ═══════════════════════════════════════════════════════════════
  554.         COO()           Cost of operating an Electrical Device
  555.  
  556.     Syntax
  557.     ───────────────────────────────────────────────────────────────
  558.         COO(<expN1>,<expN2>,<expN3>)
  559.  
  560.         <expN1>  is a value that represents Wattage calculated.
  561.         <expN2>  is a value that represents Time in Hours.
  562.         <expN3>  is a value that represents Cost-Per-Kilowatt
  563.  
  564.  
  565.     Example
  566.         ───────────────────────────────────────────────────────────────
  567.                          
  568.         COO(200,4,1.67)
  569.  
  570.         Returns: a character value  1.34 Cost for (4) hours use in 
  571.                                          Dollars & Cents.
  572.  
  573.  
  574.         ═══════════════════════════════════════════════════════════════
  575.         EIR()           Convert Current/Resistance to Voltage
  576.  
  577.     Syntax
  578.     ───────────────────────────────────────────────────────────────
  579.         EIR(<expN1>,<expN2>)
  580.  
  581.         <expN1>  is a value that represents Current.
  582.     <expN2>  is a value that represents Resistance.
  583.  
  584.  
  585.     Example
  586.         ───────────────────────────────────────────────────────────────
  587.                          
  588.         EIR(3.6,2.7)
  589.  
  590.         Returns: a character value  9.72 Volts
  591.  
  592.         ═══════════════════════════════════════════════════════════════
  593.         EPI()           Convert Power/Current to Voltage
  594.  
  595.     Syntax
  596.     ───────────────────────────────────────────────────────────────
  597.         EPI(<expN1>,<expN2>)
  598.  
  599.         <expN1>  is a value that represents Power.
  600.         <expN2>  is a value that represents Current.
  601.  
  602.  
  603.     Example
  604.         ───────────────────────────────────────────────────────────────
  605.                          
  606.         EPI(52,3.44)
  607.  
  608.         Returns: a character value  15.12 Volts
  609.  
  610.  
  611.  
  612.         ═══════════════════════════════════════════════════════════════
  613.         EPR()           Convert Power/Resistance to Voltage
  614.  
  615.     Syntax
  616.     ───────────────────────────────────────────────────────────────
  617.         EPR(<expN1>,<expN2>)
  618.  
  619.         <expN1>  is a value that represents Power.
  620.         <expN2>  is a value that represents Resistance.
  621.  
  622.  
  623.     Example
  624.         ───────────────────────────────────────────────────────────────
  625.                          
  626.         EPR(48,4.1)
  627.  
  628.         Returns: a character value  14.03 Volts
  629.  
  630.  
  631.  
  632.         ═══════════════════════════════════════════════════════════════
  633.         F2M()           Convert from Frequency to Meters
  634.  
  635.     Syntax
  636.     ───────────────────────────────────────────────────────────────
  637.         F2M(<expN>)
  638.  
  639.         <expN> a is value for Frequency (Mhz)  that you want converted.
  640.  
  641.  
  642.     Example
  643.         ───────────────────────────────────────────────────────────────
  644.                          
  645.         F2M(103.7)
  646.  
  647.         Returns: a character value  2.89 Meters
  648.  
  649.         ═══════════════════════════════════════════════════════════════
  650.         IER()           Convert Voltage/Resistance to Current
  651.  
  652.     Syntax
  653.     ───────────────────────────────────────────────────────────────
  654.         IER(<expN1>,<expN2>)
  655.  
  656.         <expN1>  is a value that represents Voltage.
  657.         <expN2>  is a value that represents Resistance.
  658.  
  659.  
  660.     Example
  661.         ───────────────────────────────────────────────────────────────
  662.                          
  663.         IER(24.2,5.7)
  664.  
  665.         Returns: a character value  4.25 Amps
  666.  
  667.  
  668.  
  669.         ═══════════════════════════════════════════════════════════════
  670.         IPE()           Convert Power/Voltage to Current
  671.  
  672.     Syntax
  673.     ───────────────────────────────────────────────────────────────
  674.         IPE(<expN1>,<expN2>)
  675.  
  676.         <expN1>  is a value that represents Power.
  677.         <expN2>  is a value that represents Voltage.
  678.  
  679.  
  680.     Example
  681.         ───────────────────────────────────────────────────────────────
  682.                          
  683.         IPE(35,5.1)
  684.  
  685.         Returns: a character value  6.86 Amps
  686.  
  687.  
  688.  
  689.         ═══════════════════════════════════════════════════════════════
  690.         IPR()           Convert Power/Resistance to Current
  691.  
  692.     Syntax
  693.     ───────────────────────────────────────────────────────────────
  694.         IPR(<expN1>,<expN2>)
  695.  
  696.         <expN1>  is a value that represents Power.
  697.         <expN2>  is a value that represents Resistance.
  698.  
  699.  
  700.     Example
  701.         ───────────────────────────────────────────────────────────────
  702.                          
  703.         IPR(120,1.7)
  704.  
  705.         Returns: a character value  8.4 Amps
  706.  
  707.         ═══════════════════════════════════════════════════════════════
  708.         LRC()           LED  Load Resistor Calculator
  709.  
  710.     Syntax
  711.     ───────────────────────────────────────────────────────────────
  712.         LRC(<expN1>,<expN2>,<expN3>)
  713.  
  714.         <expN1>  is a value that represents Input Voltage.
  715.         <expN2>  is a value that represents desired/specified forward current.
  716.         <expN3>  is a value that represents LED current draw per spec.
  717.  
  718.  
  719.     Example
  720.         ───────────────────────────────────────────────────────────────
  721.                          
  722.         LRC(5,1.7,20)
  723.  
  724.         Returns: a character value  165 Ohms -- closets common value 
  725.                                                 would be 180 Ω 
  726.  
  727.  
  728.         ═══════════════════════════════════════════════════════════════
  729.     M2F()         Convert from Meters to Frequency
  730.  
  731.     Syntax
  732.     ───────────────────────────────────────────────────────────────
  733.     M2F(<expN>)
  734.  
  735.         <expN> is a value for Meters that you want converted.
  736.  
  737.  
  738.     Example
  739.         ───────────────────────────────────────────────────────────────
  740.                          
  741.     M2F(2.78)
  742.  
  743.         Returns: a character value  107.91 Mhz
  744.  
  745.  
  746.  
  747.         ═══════════════════════════════════════════════════════════════
  748.         PEI()           Convert Voltage/Current to Power
  749.  
  750.     Syntax
  751.     ───────────────────────────────────────────────────────────────
  752.         PEI(<expN1>,<expN2>)
  753.  
  754.         <expN1>  is a value that represents Voltage.
  755.         <expN2>  is a value that represents Current.
  756.  
  757.  
  758.     Example
  759.         ───────────────────────────────────────────────────────────────
  760.                          
  761.         PEI(12,3.4)
  762.  
  763.         Returns: a character value  40.8 Watts
  764.  
  765.         ═══════════════════════════════════════════════════════════════
  766.         PER()           Convert Voltage/Resistance to Power
  767.  
  768.     Syntax
  769.     ───────────────────────────────────────────────────────────────
  770.         PER(<expN1>,<expN2>)
  771.  
  772.         <expN1>  is a value that represents Voltage.
  773.         <expN2>  is a value that represents Resistance.
  774.  
  775.  
  776.     Example
  777.         ───────────────────────────────────────────────────────────────
  778.                          
  779.         PER(12,6.14)
  780.  
  781.         Returns: a character value  23.45 Watts
  782.  
  783.  
  784.  
  785.         ═══════════════════════════════════════════════════════════════
  786.         PIR()           Convert Current/Resistance to Power
  787.  
  788.     Syntax
  789.     ───────────────────────────────────────────────────────────────
  790.         PIR(<expN1>,<expN2>)
  791.  
  792.         <expN1>  is a value that represents Current.
  793.         <expN2>  is a value that represents Resistance.
  794.  
  795.  
  796.     Example
  797.         ───────────────────────────────────────────────────────────────
  798.                          
  799.         PIR(75,11.44)
  800.  
  801.         Returns: a character value  64350 Watts
  802.  
  803.  
  804.  
  805.         ═══════════════════════════════════════════════════════════════
  806.         R2()            Calculate the value of 2 Parrallel Resistors
  807.  
  808.     Syntax
  809.     ───────────────────────────────────────────────────────────────
  810.         R2(<expN1>,<expN2>)
  811.  
  812.         <expN1>  is a value that represents Resistor #1.
  813.         <expN2>  is a value that represents Resistor #2.
  814.  
  815.  
  816.     Example
  817.         ───────────────────────────────────────────────────────────────
  818.                          
  819.         R2(47000,3900)
  820.  
  821.         Returns: a character value  3601.18 Ohms -- closets common value 
  822.                                                     would be 3600 Ω
  823.  
  824.         ═══════════════════════════════════════════════════════════════
  825.         REI()           Convert Voltage/Current to Resistance
  826.  
  827.     Syntax
  828.     ───────────────────────────────────────────────────────────────
  829.         REI(<expN1>,<expN2>)
  830.  
  831.         <expN1>  is a value that represents Voltage.
  832.         <expN2>  is a value that represents Currnet.
  833.  
  834.  
  835.     Example
  836.         ───────────────────────────────────────────────────────────────
  837.                          
  838.         REI(5.1,1.72)
  839.  
  840.         Returns: a character value  2.97 Ohms
  841.  
  842.  
  843.  
  844.         ═══════════════════════════════════════════════════════════════
  845.         REP()           Convert Voltage/Wattage to Resistance
  846.  
  847.     Syntax
  848.     ───────────────────────────────────────────────────────────────
  849.         REP(<expN1>,<expN2>)
  850.  
  851.         <expN1>  is a value that represents Voltage.
  852.         <expN2>  is a value that represents Wattage.
  853.  
  854.  
  855.     Example
  856.         ───────────────────────────────────────────────────────────────
  857.                          
  858.         REP(12.6,4)
  859.  
  860.         Returns: a character value  39.69 Ohms
  861.  
  862.  
  863.  
  864.         ═══════════════════════════════════════════════════════════════
  865.         RPI()           Convert Power/Current to Resistance
  866.  
  867.     Syntax
  868.     ───────────────────────────────────────────────────────────────
  869.         RPI(<expN1>,<expN2>)
  870.  
  871.         <expN1>  is a value that represents Power.
  872.         <expN2>  is a value that represents Current.
  873.  
  874.  
  875.     Example
  876.         ───────────────────────────────────────────────────────────────
  877.                          
  878.         RPI(100,2.66)
  879.  
  880.         Returns: a character value  14.22 Ohms
  881.  
  882.         ═══════════════════════════════════════════════════════════════
  883.         VA2W()          Convert Volt-Amperes to Watts
  884.  
  885.     Syntax
  886.     ───────────────────────────────────────────────────────────────
  887.         VA2W(<expN1>,[<expN2>])
  888.  
  889.         <expN1>  is a value that represents Volt-Amperes.
  890.        [<expN2>] is a value that represents Crest Factor. [ default 1.5 ]
  891.  
  892.         This term (crest factor) is the amount of peak-current
  893.         needed by a power supply.  The factor depends on the type
  894.         of input AC waveform; a True Sine-Wave has a factor of
  895.         2 or 3 ... a modified Sine-Wave may only exhibit 1 or 1.5.
  896.  
  897.  
  898.  
  899.     Example
  900.         ───────────────────────────────────────────────────────────────
  901.                          
  902.         VA2W(150)
  903.  
  904.         Returns: a character value  100 Watts
  905.  
  906.  
  907.  
  908.         ═══════════════════════════════════════════════════════════════
  909.         W2VA()          Convert Watts to Volt-Amperes
  910.  
  911.     Syntax
  912.     ───────────────────────────────────────────────────────────────
  913.         W2VA(<expN1>,[<expN2>])
  914.  
  915.         <expN1>  is a value that represents Wattage.
  916.        [<expN2>] is a value that represents Crest Factor. [ default 1.5 ]
  917.  
  918.         NOTE: Crest Factor explained in previous function
  919.  
  920.         Example
  921.         ───────────────────────────────────────────────────────────────
  922.                          
  923.         W2VA(100)
  924.  
  925.         Returns: a character value  150 Volt-Amps
  926.  
  927.                                                      ■AUDIO 
  928.     ═══════════════════════════════════════════════════════════════
  929.         OGC()           Op-Amp Gain Control Calculation
  930.  
  931.     Syntax
  932.     ───────────────────────────────────────────────────────────────
  933.         OGC(<expN1>,<expN2>,<expN3>)
  934.  
  935.         <expN1>  coresponds to the input voltage
  936.         <expN2>  is the input resistor
  937.         <expN3>  is the feed-back resistor
  938.  
  939.  
  940.     Example
  941.         ───────────────────────────────────────────────────────────────
  942.                          
  943.         OGC(.5,100,470)
  944.  
  945.         Returns: a character value  2.35 volts output gain
  946.  
  947.  
  948.  
  949.         ═══════════════════════════════════════════════════════════════
  950.         PHONTONE()      Displays ans ANSI diagram of Phone Frequences
  951.  
  952.     Syntax
  953.     ───────────────────────────────────────────────────────────────
  954.         PHONTONE(<expC>)
  955.  
  956.         <expC>  is a digit represented by the phone-pad
  957.  
  958.  
  959.         The full set of digits from 0-9 are available, as well as
  960.         the pound sign (#) and askerisk (*)... also for those known
  961.         special pads (such as ham radio), the A-D will respond also.
  962.  
  963.  
  964.  
  965.     Example
  966.         ───────────────────────────────────────────────────────────────
  967.                          
  968.         PHONTONE('9')
  969.  
  970.         Returns: frequences pair of 852 & 1471
  971.  
  972.         ═══════════════════════════════════════════════════════════════
  973.         RDT60()         Reverberation Delay Time
  974.  
  975.     Syntax
  976.     ───────────────────────────────────────────────────────────────
  977.         RDT60(<expN1>,<expN2>)
  978.  
  979.         <expN1>  is the total volume of the room (foot^3)
  980.         <expN2>  is the absorption units
  981.  
  982.         Carpeting on concrete has an average co-efficient of .37
  983.         (at 1 khz). Thus, a carpeted floor of 1,000 square feet
  984.         would have 370 absorption units (.37 X 1000).
  985.  
  986.         This is set for a typical 60db drop of loss of signal.
  987.  
  988.  
  989.     Example
  990.         ───────────────────────────────────────────────────────────────
  991.                          
  992.         RDT60(19200,824)
  993.  
  994.         Returns: a character value  1.17 second delay of reverberation
  995.  
  996.  
  997.  
  998.         ═══════════════════════════════════════════════════════════════
  999.         SNGLTNE()       Will produce a single tone-pair    
  1000.  
  1001.     Syntax
  1002.     ───────────────────────────────────────────────────────────────
  1003.         SNGLTNE(<expC>)
  1004.  
  1005.         <expC>  is a digit represented by phone-pad
  1006.  
  1007.  
  1008.     Example
  1009.         ───────────────────────────────────────────────────────────────
  1010.                          
  1011.         SNGLTNE('4')
  1012.  
  1013.         Returns: frequences pair of 770 & 1209
  1014.  
  1015.  
  1016.  
  1017.         ═══════════════════════════════════════════════════════════════
  1018.         VDELAY()        Velocity of Sound Delay
  1019.  
  1020.     Syntax
  1021.     ───────────────────────────────────────────────────────────────
  1022.         VDELAY(<expN>)
  1023.  
  1024.         <expN>  represents a specific frequency
  1025.  
  1026.         This uses a factor of 1130, which corresponds to normal room
  1027.         room temperature of 70° F   (21° C)
  1028.  
  1029.  
  1030.     Example
  1031.         ───────────────────────────────────────────────────────────────
  1032.                          
  1033.         VDELAY(500)
  1034.  
  1035.         Returns: a character value  0.44248 second delay
  1036.  
  1037.  
  1038.  
  1039.         ═══════════════════════════════════════════════════════════════
  1040.         WAVDIST()       Wavelength of Sound in Distance
  1041.  
  1042.     Syntax
  1043.     ───────────────────────────────────────────────────────────────
  1044.         WAVEDIST(<expN>)
  1045.  
  1046.         <expN>  represents a specific frequency
  1047.  
  1048.         Once again this uses a factor of 1130, which corresponds to
  1049.         normal room room temperature of 70° F   (21° C)
  1050.  
  1051.         Example
  1052.         ───────────────────────────────────────────────────────────────
  1053.                          
  1054.         VDELAY(400)
  1055.  
  1056.         Returns: a character value  2.83 feet
  1057.  
  1058.                                                      ■MATH 
  1059.     ═══════════════════════════════════════════════════════════════
  1060.         ATN()           Arctangent math function
  1061.  
  1062.     Syntax
  1063.     ───────────────────────────────────────────────────────────────
  1064.         ATN(<expN>)
  1065.  
  1066.         <expN>  a numeric value entered    (negatives may be
  1067.                         entered as well)
  1068.  
  1069.     Example
  1070.         ───────────────────────────────────────────────────────────────
  1071.                          
  1072.         ATN(2)
  1073.  
  1074.         Returns: a numeric value  1.1071298
  1075.  
  1076.  
  1077.  
  1078.     ═══════════════════════════════════════════════════════════════
  1079.         BIN2DEC()       Binary to Decimal   16-Bit conversion
  1080.  
  1081.     Syntax
  1082.     ───────────────────────────────────────────────────────────────
  1083.         BIN2DEC(<expN>)
  1084.  
  1085.         <expN>  a binary value entered
  1086.  
  1087.         You will noticed that only 15-Bits were entered; this is 
  1088.         because a hi-bit of 0 will be assumed for the 16th position.
  1089.         All leading zero's (0) will be left filled, if left-out!
  1090.  
  1091.  
  1092.     Example
  1093.         ───────────────────────────────────────────────────────────────
  1094.                          
  1095.         BIN2DEC(110110000011010)
  1096.  
  1097.         Returns: a numeric value  27674
  1098.  
  1099.         ═══════════════════════════════════════════════════════════════
  1100.         BIN2HEX()       Binary to Hex   16-Bit conversion
  1101.  
  1102.     Syntax
  1103.     ───────────────────────────────────────────────────────────────
  1104.         BIN2HEX(<expN>)
  1105.  
  1106.         <expN>  a binary value entered
  1107.  
  1108.         You will noticed that only 15-Bits were entered; this is 
  1109.         because a hi-bit of 0 will be assumed for the 16th position.
  1110.         All leading zero's (0) will be left filled, if left-out!
  1111.  
  1112.  
  1113.     Example
  1114.         ───────────────────────────────────────────────────────────────
  1115.                          
  1116.         BIN2HEX(110110000011010)
  1117.  
  1118.         Returns: a character value  6C1A
  1119.  
  1120.         ═══════════════════════════════════════════════════════════════
  1121.         CHKAMNT()       Convert a numeric amount to Text
  1122.  
  1123.     Syntax
  1124.     ───────────────────────────────────────────────────────────────
  1125.         CHKAMNT(<expN>)
  1126.  
  1127.         <expN>  a numeric amount entered
  1128.  
  1129.  
  1130.     Example
  1131.         ───────────────────────────────────────────────────────────────
  1132.                          
  1133.         CHKAMNT(124.77)
  1134.  
  1135.         Returns: a character  One Hundred Twenty-Four Dollars and 77/100 Cents
  1136.  
  1137.  
  1138.  
  1139.         ═══════════════════════════════════════════════════════════════
  1140.         COS()           Cosine Math Function
  1141.  
  1142.     Syntax
  1143.     ───────────────────────────────────────────────────────────────
  1144.         COS(<expN>,[<expC>])
  1145.  
  1146.          <expN>  is a value to convert to COSine
  1147.         [<expC>]  has a choice of blank, D or R        [ default is D ]
  1148.  
  1149.         [<expC>]  will assume 'D' (decimal) unless secified otherwise
  1150.  
  1151.  
  1152.         Example
  1153.         ───────────────────────────────────────────────────────────────
  1154.                          
  1155.         COS(1,'R')
  1156.  
  1157.         Returns: a numeric value  0.540302 Radians
  1158.  
  1159.  
  1160.  
  1161.         ═══════════════════════════════════════════════════════════════
  1162.         DEC2BIN()       Decimal to Binary   16-Bit conversion
  1163.  
  1164.     Syntax
  1165.     ───────────────────────────────────────────────────────────────
  1166.         DEC2BIN(<expN>)
  1167.  
  1168.         <expN>  a decimal value entered
  1169.  
  1170.  
  1171.     Example
  1172.         ───────────────────────────────────────────────────────────────
  1173.                          
  1174.         DEC2BIN(26674)
  1175.  
  1176.         Returns: a character value  1101000 00110010   <- once again notice
  1177.                                                           leading (0) left
  1178.                                                           off the hi 8-bits  
  1179.         ═══════════════════════════════════════════════════════════════
  1180.         DEC2HEX()       Decimal to Hex   16-Bit conversion
  1181.  
  1182.     Syntax
  1183.     ───────────────────────────────────────────────────────────────
  1184.         DEC2HEX(<expN>)
  1185.  
  1186.         <expN>  a decimal value entered
  1187.  
  1188.  
  1189.     Example
  1190.         ───────────────────────────────────────────────────────────────
  1191.                          
  1192.         DEC2HEX(240)
  1193.  
  1194.         Returns: a character value  F0
  1195.  
  1196.  
  1197.  
  1198.         ═══════════════════════════════════════════════════════════════
  1199.         DEG()           Degrees to Radians conversion
  1200.  
  1201.     Syntax
  1202.     ───────────────────────────────────────────────────────────────
  1203.         DEG(<expN>)
  1204.  
  1205.         <expN>  a degree value entered
  1206.  
  1207.  
  1208.     Example
  1209.         ───────────────────────────────────────────────────────────────
  1210.                          
  1211.         DEG(2.4)
  1212.  
  1213.         Returns: a numeric value  80.2141 Radians
  1214.  
  1215.  
  1216.  
  1217.         ═══════════════════════════════════════════════════════════════
  1218.         HEX2BIN()       Hex to Binary   16-Bit conversion
  1219.  
  1220.     Syntax
  1221.     ───────────────────────────────────────────────────────────────
  1222.         HEX2BIN(<expC>)
  1223.  
  1224.         <expC>  a hex value entered
  1225.  
  1226.  
  1227.     Example
  1228.         ───────────────────────────────────────────────────────────────
  1229.                          
  1230.         HEX2BIN('F0')
  1231.  
  1232.         Returns: a character value  00000000 11110000
  1233.  
  1234.         ═══════════════════════════════════════════════════════════════
  1235.         HEX2DEC()       Hex to Decimal   16-Bit conversion
  1236.  
  1237.     Syntax
  1238.     ───────────────────────────────────────────────────────────────
  1239.         HEX2DEC(<expC>)
  1240.  
  1241.         <expC>  a hex value entered
  1242.  
  1243.  
  1244.     Example
  1245.         ───────────────────────────────────────────────────────────────
  1246.                          
  1247.         HEX2DEC('F0')
  1248.  
  1249.         Returns: a numeric value  240
  1250.  
  1251.  
  1252.  
  1253.         ═══════════════════════════════════════════════════════════════
  1254.         KTOM()          Kilometers to Miles (statute)
  1255.  
  1256.         Syntax           "NO this isn't some hick radio station"
  1257.     ───────────────────────────────────────────────────────────────
  1258.         KTOM(<expN>)
  1259.  
  1260.         <expN>  a value in kilometers
  1261.  
  1262.  
  1263.     Example
  1264.         ───────────────────────────────────────────────────────────────
  1265.                          
  1266.         KTOM(160)
  1267.  
  1268.         Returns: a numeric value  99.4240 statute miles
  1269.  
  1270.  
  1271.  
  1272.         ═══════════════════════════════════════════════════════════════
  1273.         LOG10()         LOG10 funciton
  1274.  
  1275.         Syntax
  1276.     ───────────────────────────────────────────────────────────────
  1277.         LOG10(<expN>)
  1278.  
  1279.         <expN>  a value of LOG() or any known BASE10 number
  1280.  
  1281.  
  1282.     Example
  1283.         ───────────────────────────────────────────────────────────────
  1284.                          
  1285.         LOG10(100)
  1286.  
  1287.         Returns: a numeric value  2
  1288.  
  1289.         ═══════════════════════════════════════════════════════════════
  1290.         MOD()           Modulus function
  1291.  
  1292.         Syntax
  1293.     ───────────────────────────────────────────────────────────────
  1294.         MOD(<expN1>,<expN2>)
  1295.  
  1296.         <expN1>  is a value equal to X
  1297.         <expN2>  is a value equal to Y
  1298.  
  1299.         NOTE: This function is equal to Basics  X MOD Y
  1300.  
  1301.     Example
  1302.         ───────────────────────────────────────────────────────────────
  1303.                          
  1304.         MOD(10.5,4)
  1305.  
  1306.         Returns: a numeric value  3
  1307.  
  1308.  
  1309.  
  1310.         ═══════════════════════════════════════════════════════════════
  1311.         NODIV0()        NO Divide by zero (0)
  1312.  
  1313.         Syntax
  1314.     ───────────────────────────────────────────────────────────────
  1315.         NODIV0(<expN>)
  1316.  
  1317.         <expN>  is a denominator value to check
  1318.  
  1319.         NOTE: if the answer would end up 0, then a 1 is returned
  1320.  
  1321.     Example
  1322.         ───────────────────────────────────────────────────────────────
  1323.                          
  1324.         NU = 14
  1325.         DN = 0
  1326.         ANS = NU / NODIV0(DN)
  1327.  
  1328.         Returns:  a numeric value of the leftovers
  1329.  
  1330.  
  1331.  
  1332.         ═══════════════════════════════════════════════════════════════
  1333.         MTOK()          Miles (statute) to Kilometers
  1334.  
  1335.         Syntax
  1336.     ───────────────────────────────────────────────────────────────
  1337.         MTOK(<expN>)
  1338.  
  1339.         <expN>  a value in miles
  1340.  
  1341.  
  1342.     Example
  1343.         ───────────────────────────────────────────────────────────────
  1344.                          
  1345.         MTOK(10)
  1346.  
  1347.         Returns: a character value  16.090 kilometers   
  1348.         ═══════════════════════════════════════════════════════════════
  1349.         PI()            Returns the value of π
  1350.  
  1351.         Syntax
  1352.     ───────────────────────────────────────────────────────────────
  1353.         PI([<expN>])
  1354.  
  1355.         [<expN>]  a numeric value            [ default is 1 ]
  1356.  
  1357.  
  1358.     Example
  1359.         ───────────────────────────────────────────────────────────────
  1360.                          
  1361.         PI(2)
  1362.  
  1363.         Returns: a numeric value  6.283185309
  1364.  
  1365.  
  1366.  
  1367.         ═══════════════════════════════════════════════════════════════
  1368.         POWER()         Raise a number by a specific Power
  1369.  
  1370.         Syntax
  1371.     ───────────────────────────────────────────────────────────────
  1372.         POWER(<expN1>,<expN2>)
  1373.  
  1374.         <expN1>  a numeric value to be raised
  1375.         <expN2>  power to raise by
  1376.  
  1377.  
  1378.     Example
  1379.         ───────────────────────────────────────────────────────────────
  1380.                          
  1381.         POWER(12,4)
  1382.  
  1383.         Returns: a numeric value  20736.00
  1384.  
  1385.  
  1386.  
  1387.         ═══════════════════════════════════════════════════════════════
  1388.         RAD()           Radians to Degrees conversion
  1389.  
  1390.     Syntax
  1391.     ───────────────────────────────────────────────────────────────
  1392.         RAD(<expN>)
  1393.  
  1394.         <expN>  a radian value entered
  1395.  
  1396.  
  1397.     Example
  1398.         ───────────────────────────────────────────────────────────────
  1399.                          
  1400.         RAD(45)
  1401.  
  1402.         Returns: a numeric value  0.785398 degrees
  1403.  
  1404.         ═══════════════════════════════════════════════════════════════
  1405.         RANDUM()        Random Number Generator
  1406.  
  1407.     Syntax
  1408.     ───────────────────────────────────────────────────────────────
  1409.         RANDUM(<expN>)
  1410.  
  1411.          <expN> Number to seed generator with      
  1412.  
  1413.         NOTE: Number returned will be <= to <expN>
  1414.  
  1415.  
  1416.     Example
  1417.         ───────────────────────────────────────────────────────────────
  1418.                          
  1419.         mNUM = RANDUM(67)
  1420.         FOR NEWVAL = 1 to mNUM
  1421.         ...
  1422.  
  1423.         Returns: a numeric value
  1424.  
  1425.  
  1426.  
  1427.         ═══════════════════════════════════════════════════════════════
  1428.         ROUNDIT()       Round-off a number
  1429.  
  1430.     Syntax
  1431.     ───────────────────────────────────────────────────────────────
  1432.         ROUNDIT(<expN>)
  1433.  
  1434.         <expN>  any numeric value
  1435.  
  1436.         NOTE: This replaces the ROUND() function in Clipper (NO WORKY!)
  1437.  
  1438.  
  1439.     Example
  1440.         ───────────────────────────────────────────────────────────────
  1441.                          
  1442.         ROUNDIT(7.47)
  1443.  
  1444.         Returns: a numeric value  7.5
  1445.  
  1446.         ═══════════════════════════════════════════════════════════════
  1447.         SIN()           SINE Math Function
  1448.  
  1449.     Syntax
  1450.     ───────────────────────────────────────────────────────────────
  1451.         SIN(<expN>,[<expC>])
  1452.  
  1453.          <expN>   is a value to convert to SINe
  1454.         [<expC>]  has a choice of blank, D or R        [ default is D ]
  1455.  
  1456.         [<expC>]  will assume 'D' (decimal) unless secified otherwise
  1457.  
  1458.  
  1459.     Example
  1460.         ───────────────────────────────────────────────────────────────
  1461.                          
  1462.         SIN(45,'D')
  1463.  
  1464.         Returns: a numeric value  0.707106 Degrees
  1465.  
  1466.  
  1467.  
  1468.         ═══════════════════════════════════════════════════════════════
  1469.         SGN()           Returns the Sign of any given number
  1470.  
  1471.     Syntax
  1472.     ───────────────────────────────────────────────────────────────
  1473.         SGN(<expN>)
  1474.  
  1475.         <expN>  a value numeric entered
  1476.  
  1477.         NOTE: A positive returns  1
  1478.               A zero (0) returns  0
  1479.               A negative returns -1
  1480.  
  1481.  
  1482.     Example
  1483.         ───────────────────────────────────────────────────────────────
  1484.                          
  1485.         SGN(-4)
  1486.  
  1487.         Returns: a numeric value  -1
  1488.  
  1489.         ═══════════════════════════════════════════════════════════════
  1490.         SQR()           Returns the Square of any given number
  1491.  
  1492.     Syntax
  1493.     ───────────────────────────────────────────────────────────────
  1494.         SQR(<expN>)
  1495.  
  1496.         <expN>  a value numeric entered
  1497.  
  1498.  
  1499.     Example
  1500.         ───────────────────────────────────────────────────────────────
  1501.                          
  1502.         SQR(4)
  1503.  
  1504.         Returns: a numeric value  16
  1505.  
  1506.  
  1507.  
  1508.         ═══════════════════════════════════════════════════════════════
  1509.         TAN()           TANgent Math Function
  1510.  
  1511.     Syntax
  1512.     ───────────────────────────────────────────────────────────────
  1513.         TAN(<expN>,[<expC>])
  1514.  
  1515.          <expN>  is a value to convert to TANgent
  1516.         [<expC>]  has a choice of blank, D or R        [ default is D ]
  1517.  
  1518.         [<expC>]  will assume 'D' (decimal) unless secified otherwise
  1519.  
  1520.  
  1521.     Example
  1522.         ───────────────────────────────────────────────────────────────
  1523.                          
  1524.         TAN(1,'R')
  1525.  
  1526.         Returns: a numeric value  1.55741 Radians
  1527.  
  1528.                                                      ■DATE/TIME
  1529.     ═══════════════════════════════════════════════════════════════
  1530.         BOM()           Beginning of Month
  1531.  
  1532.     Syntax
  1533.     ───────────────────────────────────────────────────────────────
  1534.         BOM([<expD>])
  1535.  
  1536.        [<expD>]  enter a optional date, else system date will be used
  1537.  
  1538.  
  1539.     Example
  1540.         ───────────────────────────────────────────────────────────────
  1541.                          
  1542.         BOM('05/17/92')
  1543.  
  1544.         Returns: a character string of  05/01/92
  1545.  
  1546.  
  1547.  
  1548.     ═══════════════════════════════════════════════════════════════
  1549.         BOMN()          Beginning of next Month
  1550.  
  1551.     Syntax
  1552.     ───────────────────────────────────────────────────────────────
  1553.         BONM([<expD>])
  1554.  
  1555.        [<expD>]  enter a optional date, else system date will be used
  1556.  
  1557.  
  1558.     Example
  1559.         ───────────────────────────────────────────────────────────────
  1560.                          
  1561.         BONM('03/18/92')
  1562.  
  1563.         Returns: a character string of  06/01/92
  1564.  
  1565.  
  1566.  
  1567.         ═══════════════════════════════════════════════════════════════
  1568.         BOPY()          Beginning of previous Year
  1569.  
  1570.     Syntax
  1571.     ───────────────────────────────────────────────────────────────
  1572.         BOPY([<expD>])
  1573.  
  1574.        [<expD>]  enter a optional date, else system date will be used
  1575.  
  1576.  
  1577.     Example
  1578.         ───────────────────────────────────────────────────────────────
  1579.                          
  1580.         BOPY('11/17/92')
  1581.  
  1582.         Returns: a character string of  01/01/91
  1583.  
  1584.         ═══════════════════════════════════════════════════════════════
  1585.         BOW()           Beginning of Week
  1586.  
  1587.     Syntax
  1588.     ───────────────────────────────────────────────────────────────
  1589.         BOW([<expD>])
  1590.  
  1591.        [<expD>]  enter a optional date, else system date will be used
  1592.  
  1593.  
  1594.     Example
  1595.         ───────────────────────────────────────────────────────────────
  1596.                          
  1597.         BOW(DATE())+7     <- lets assume this is 10/07/92
  1598.  
  1599.         Returns: a character value of  Monday    <- which would be 10/12/92
  1600.  
  1601.  
  1602.  
  1603.         ═══════════════════════════════════════════════════════════════
  1604.         BOY()           Begining of Year
  1605.  
  1606.     Syntax
  1607.     ───────────────────────────────────────────────────────────────
  1608.         BOY([<expD>])
  1609.  
  1610.         <expD>  enter a optional date, else system date will be used
  1611.  
  1612.         This could also be used as begining of next year "BONY"
  1613.  
  1614.     Example
  1615.         ───────────────────────────────────────────────────────────────
  1616.                          
  1617.         BOY(DATE())+366    <- lets assume this is 06/13/91
  1618.  
  1619.         Returns: a date string of: 01/01/92
  1620.  
  1621.         ═══════════════════════════════════════════════════════════════
  1622.         DATETST()       checks to see if a data field is empty
  1623.  
  1624.     Syntax
  1625.     ───────────────────────────────────────────────────────────────
  1626.         DATETST([<expD>])
  1627.  
  1628.        [<expD>]  MUST have a manditory date type field
  1629.  
  1630.  
  1631.     Example
  1632.         ───────────────────────────────────────────────────────────────
  1633.                          
  1634.         DATETST('&EVENT')
  1635.  
  1636.         Returns: '        '    <- this assumes that "EVENT" was empty
  1637.  
  1638.  
  1639.  
  1640.         ═══════════════════════════════════════════════════════════════
  1641.         DTOW()          Date to Word
  1642.  
  1643.     Syntax
  1644.     ───────────────────────────────────────────────────────────────
  1645.         DTOW([<expD>])
  1646.  
  1647.        [<expD>]  enter a optional date, else system date will be used
  1648.  
  1649.  
  1650.     Example
  1651.         ───────────────────────────────────────────────────────────────
  1652.                          
  1653.         DTOW('10/14/91')
  1654.  
  1655.         Returns: a character string of  October 14, 1991
  1656.  
  1657.  
  1658.  
  1659.         ═══════════════════════════════════════════════════════════════
  1660.         EOLM()          End of last Month
  1661.  
  1662.     Syntax
  1663.     ───────────────────────────────────────────────────────────────
  1664.         EOLM([<expD>])
  1665.  
  1666.        [<expD>]  enter a optional date, else system date will be used
  1667.  
  1668.  
  1669.     Example
  1670.         ───────────────────────────────────────────────────────────────
  1671.                          
  1672.         EOLM()             <- lets assume this is 03/13/91
  1673.  
  1674.         Returns: a character string of  02/28/91
  1675.  
  1676.         ═══════════════════════════════════════════════════════════════
  1677.         EOM()           End of Month
  1678.  
  1679.     Syntax
  1680.     ───────────────────────────────────────────────────────────────
  1681.         EOM([<expD>])
  1682.  
  1683.        [<expD>]  enter a optional date, else system date will be used
  1684.  
  1685.  
  1686.     Example
  1687.         ───────────────────────────────────────────────────────────────
  1688.                          
  1689.         EOM()             <- lets assume this is 07/07/91
  1690.  
  1691.         Returns: a character string of  07/31/91
  1692.  
  1693.  
  1694.  
  1695.         ═══════════════════════════════════════════════════════════════
  1696.         EOPY()          End of previous Year
  1697.  
  1698.     Syntax
  1699.     ───────────────────────────────────────────────────────────────
  1700.         EOPY([<expD>])
  1701.  
  1702.        [<expD>]  enter a optional date, else system date will be used
  1703.  
  1704.  
  1705.     Example
  1706.         ───────────────────────────────────────────────────────────────
  1707.                          
  1708.         EOPY(4)           <- lets assume this is 02/25/91
  1709.  
  1710.         Returns: a character string of  12/31/88
  1711.  
  1712.  
  1713.  
  1714.         ═══════════════════════════════════════════════════════════════
  1715.         EOW()           End of Week
  1716.  
  1717.     Syntax
  1718.     ───────────────────────────────────────────────────────────────
  1719.         EOW([<expD>])
  1720.  
  1721.        [<expD>]  enter a optional date, else system date will be used
  1722.  
  1723.  
  1724.     Example
  1725.         ───────────────────────────────────────────────────────────────
  1726.                          
  1727.         EOW(DATE())+14   <- lets assume this is 11/02/92
  1728.  
  1729.         Returns: a character of  Friday  <- which would be 11/20/92
  1730.  
  1731.         ═══════════════════════════════════════════════════════════════
  1732.         EOY()           End of Year
  1733.  
  1734.     Syntax
  1735.     ───────────────────────────────────────────────────────────────
  1736.         EOY([<expD>])
  1737.  
  1738.         [<expD>]  enter a optional date, else system date will be used
  1739.  
  1740.  
  1741.     Example
  1742.         ───────────────────────────────────────────────────────────────
  1743.                          
  1744.         EOY()            <- lets assume 09/11/92
  1745.  
  1746.         Returns: a character string of  12/31/92
  1747.  
  1748.  
  1749.  
  1750.         ═══════════════════════════════════════════════════════════════
  1751.         JULDAYS()       Display current/past Julian days
  1752.  
  1753.     Syntax
  1754.     ───────────────────────────────────────────────────────────────
  1755.         JUYDAYS([<expD>])
  1756.  
  1757.        [<expD>]  enter a optional date, else system date will be used
  1758.  
  1759.  
  1760.     Example
  1761.         ───────────────────────────────────────────────────────────────
  1762.                          
  1763.         JULDAYS('01/01/90')   <- lets assume 09/11/92
  1764.  
  1765.         Returns: a character of  2,446,432  Julian days have past
  1766.  
  1767.  
  1768.  
  1769.         ═══════════════════════════════════════════════════════════════
  1770.         LEAPYR()        Logical test for a Leap Year
  1771.  
  1772.     Syntax
  1773.     ───────────────────────────────────────────────────────────────
  1774.         LEAPER(<none>)
  1775.  
  1776.  
  1777.     Example
  1778.         ───────────────────────────────────────────────────────────────
  1779.                          
  1780.     IF LEAPYR()              <- lets assume 09/11/92
  1781.          ? "There's 29 days this year"
  1782.         ELSE
  1783.          ? "There's 28 days this year"
  1784.         ENDI
  1785.  
  1786.         Returns: a logical value of: .T.            <- for this '92
  1787.  
  1788.         ═══════════════════════════════════════════════════════════════
  1789.         MNTHCAL()       Display a One Month Calender
  1790.  
  1791.     Syntax
  1792.     ───────────────────────────────────────────────────────────────
  1793.         MNTHCAL([<expD>,<expN1>,<expN2>,<expN3>])
  1794.  
  1795.         [<expD >  enter a date, or leave blank
  1796.          <expN1>  input the starting Row
  1797.          <expN2>  input the starting Column
  1798.          <expN3>] input a number to specifiy the boarder  (default 1)
  1799.  
  1800.         NOTE: if NO parameters are passed, then <expN1> = 1  <expN2> = 1
  1801.                                                 <expN3> = _ (no border)
  1802.               See BOXIT() for border box numbers
  1803.  
  1804.     Example
  1805.         ───────────────────────────────────────────────────────────────
  1806.                          
  1807.         MNTHCAL(12,38,2)
  1808.  
  1809.         Returns: Calender in center of screen, with Single-Line Box
  1810.  
  1811.  
  1812.  
  1813.         ═══════════════════════════════════════════════════════════════
  1814.         NDIN2Y()        Give the number of days into a year
  1815.  
  1816.     Syntax
  1817.     ───────────────────────────────────────────────────────────────
  1818.         NDIN2Y([<expD>])
  1819.  
  1820.        [<expD>]  enter a optional date, else system date will be used
  1821.  
  1822.  
  1823.     Example
  1824.         ───────────────────────────────────────────────────────────────
  1825.                          
  1826.         NDIN2Y('07/27/91')
  1827.  
  1828.         Returns: a character of  208 Days
  1829.  
  1830.         ═══════════════════════════════════════════════════════════════
  1831.         NDINM()         Give the number of days in a specific Month
  1832.  
  1833.     Syntax
  1834.     ───────────────────────────────────────────────────────────────
  1835.         NDINM([<expD>])
  1836.  
  1837.        [<expD>]  enter a optional date, else system date will be used
  1838.  
  1839.  
  1840.     Example
  1841.         ───────────────────────────────────────────────────────────────
  1842.                          
  1843.         NDINM('09/14/91')
  1844.  
  1845.         Returns: a character of  30     <- days
  1846.  
  1847.         ═══════════════════════════════════════════════════════════════
  1848.         THETIME()       Display the time with 12-Hour format
  1849.  
  1850.     Syntax
  1851.     ───────────────────────────────────────────────────────────────
  1852.         THETIME([<expN1>,<expN2>,<expL>])
  1853.  
  1854.         [<expN1>  input the starting Row
  1855.          <expN2>  input the starting Column
  1856.           <expL>] TRUE, colon will be Bright White/White
  1857.                   FALSE, colon will be Bright White/Black
  1858.  
  1859.         NOTE: if NO parameters are passed, then <expN1> = 12  <expN2> = 35
  1860.                                                  <expL> = .f. (default)
  1861.               Current system colors will be used for numbers
  1862.  
  1863.     Example
  1864.         ───────────────────────────────────────────────────────────────
  1865.                          
  1866.         THETIME(12,38,.t.)    <- assume 2:14pm
  1867.  
  1868.         Returns: a character of  2:14pm  <- Colon will blink Bright White/White
  1869.  
  1870.  
  1871.  
  1872.         ═══════════════════════════════════════════════════════════════
  1873.         TTOW()          Time to Word
  1874.  
  1875.     Syntax
  1876.     ───────────────────────────────────────────────────────────────
  1877.         TTOW(<none>)
  1878.  
  1879.         NOTE:     12:00 am - 11:59 am = Morning
  1880.                   12:00 pm -  5:59 pm = Afternoon
  1881.                    6:00 pm - 11:59 pm = Evening
  1882.  
  1883.  
  1884.     Example
  1885.         ───────────────────────────────────────────────────────────────
  1886.                          
  1887.         TTOW()      <- assume its 4:16pm
  1888.  
  1889.         Returns: a character string of  Afternoon
  1890.  
  1891.         ═══════════════════════════════════════════════════════════════
  1892.         VLDDATE()       Point to a Valid Date
  1893.  
  1894.     Syntax
  1895.     ───────────────────────────────────────────────────────────────
  1896.         VLDDATE([<expD>,<expN1>,<expN2>,<expC>])
  1897.  
  1898.        [<expD>  = pull-up current Month Calender
  1899.         <expN1> = Top   <expN2> = Left   <expC>] = Color  (all optional)
  1900.  
  1901.         NOTE: a simple pop-up calender will appear
  1902.               pointing to the current date
  1903.  
  1904.  
  1905.     Example
  1906.         ───────────────────────────────────────────────────────────────
  1907.                          
  1908.         tdate = VLDDATE(date(),14,10,'G+/W')   <- point to 17 of 03/91
  1909.  
  1910.         Returns: a date string of  03/17/91
  1911.  
  1912.  
  1913.  
  1914.         ═══════════════════════════════════════════════════════════════
  1915.         WOFM()          Week of the Month
  1916.  
  1917.     Syntax
  1918.     ───────────────────────────────────────────────────────────────
  1919.         WOFM([<expD>])
  1920.  
  1921.        [<expD>]  enter a optional date, else system date will be used
  1922.  
  1923.  
  1924.     Example
  1925.         ───────────────────────────────────────────────────────────────
  1926.                          
  1927.         WOFM('04/14/92')
  1928.  
  1929.         Returns: a character of  3   <- week of the month
  1930.  
  1931.  
  1932.  
  1933.         ═══════════════════════════════════════════════════════════════
  1934.         YRDATE()        Return Year as 2 or 4 digits
  1935.  
  1936.     Syntax
  1937.     ───────────────────────────────────────────────────────────────
  1938.         YRDATE([<expN>])
  1939.  
  1940.        [<expN>]  enter a 2 to drop Century  (optional)
  1941.  
  1942.  
  1943.     Example
  1944.         ───────────────────────────────────────────────────────────────
  1945.                          
  1946.         YRDATE(2)        <- assume 1992
  1947.  
  1948.         Returns: a character string of  92
  1949.  
  1950.                                                      ■WINDOWS
  1951.     ═══════════════════════════════════════════════════════════════
  1952.         ADVRTIZE()      Top to Bottom Message Strober
  1953.  
  1954.     Syntax
  1955.     ───────────────────────────────────────────────────────────────
  1956.         ADVRTIZE(<expC>)
  1957.  
  1958.         NOTE: this will drop a character string from top to bottom
  1959.  
  1960.     Example
  1961.         ───────────────────────────────────────────────────────────────
  1962.                                                   
  1963.         ADVRTIZE('Jakes Garden of Gears')         
  1964.                                                   
  1965.         Returns: nada                             
  1966.  
  1967.  
  1968.  
  1969.         ═══════════════════════════════════════════════════════════════
  1970.         BOXIT()         Draw a simple Box on screen
  1971.  
  1972.     Syntax
  1973.     ───────────────────────────────────────────────────────────────
  1974.         BOXIT([<expn1>,<expN2>,<expN3>,<expN4>,<expN5>])
  1975.  
  1976.         [<expN1>  = Top   
  1977.          <expN2>  = Left    
  1978.          <expN3>  = Bottom
  1979.          <expN4>  = Right 
  1980.          <expN5>] = Box Type
  1981.  
  1982.         Box Types: 1 = Double                       5 = Thick Line
  1983.                    2 = Single                       6 = NO Border
  1984.                    3 = Double Horz., Single Vert.
  1985.                    4 = Single Horz., Double Vert.
  1986.  
  1987.         NOTE: if NO parameters are passed, then a Box at Top-Left
  1988.               corner at: 5,23,14,55   with Double-Line
  1989.  
  1990.  
  1991.         Example
  1992.         ───────────────────────────────────────────────────────────────
  1993.                          
  1994.         BOXIT(10,10,5,20,2)
  1995.  
  1996.         Returns: a character box
  1997.  
  1998.         ═══════════════════════════════════════════════════════════════
  1999.         BYEWIN()        Delete a Window made with SHADWIN()
  2000.  
  2001.     Syntax
  2002.     ───────────────────────────────────────────────────────────────
  2003.         BYEWIN(<expB>)
  2004.  
  2005.         <expB> = is the name of the screen buffer to drop
  2006.  
  2007.  
  2008.     Example
  2009.         ───────────────────────────────────────────────────────────────
  2010.                          
  2011.         BYEDWIN(winthis)
  2012.  
  2013.         Returns: nada
  2014.  
  2015.         ═══════════════════════════════════════════════════════════════
  2016.         CENTER()        Center text on Screen
  2017.  
  2018.     Syntax
  2019.     ───────────────────────────────────────────────────────────────
  2020.         CENTER(<expN1>,<expC1>,[<expC2>,<expN2>])
  2021.  
  2022.          <expN1>  Row to display text at
  2023.          <expC1>  Text to display
  2024.         [<expC2>  color for message (optional)
  2025.          <expN2>] Length of row used [80 default] (optional)
  2026.  
  2027.  
  2028.     Example
  2029.         ───────────────────────────────────────────────────────────────
  2030.                          
  2031.         CENTER(22,' Hi Air-Head! ','G/R',120)
  2032.  
  2033.         Returns: a character message and color at specific row/col
  2034.  
  2035.  
  2036.  
  2037.         ═══════════════════════════════════════════════════════════════
  2038.         CHKCOLR()       Test for Color Monitor
  2039.  
  2040.     Syntax
  2041.     ───────────────────────────────────────────────────────────────
  2042.         CHKCOLR([<expC>])
  2043.  
  2044.         [<expC>]  Color combination to use   (optional)
  2045.  
  2046.         NOTE: If NO paramters are passed, then system attributes are used
  2047.  
  2048.  
  2049.     Example
  2050.         ───────────────────────────────────────────────────────────────
  2051.                          
  2052.         CHKCOLR('G+/W')
  2053.  
  2054.         Returns: Bright Green on White  else  White on Black
  2055.  
  2056.         ═══════════════════════════════════════════════════════════════
  2057.         CLRTHIS()       Clear the screen with video effects
  2058.  
  2059.     Syntax
  2060.     ───────────────────────────────────────────────────────────────
  2061.         CLRTHIS([<expN1>,<expN2>])
  2062.  
  2063.         [<expN1>  enter a optional number to use
  2064.                1 = pull-down window shade    2 = window shade pulled up
  2065.                3 = scan door right           4 = scan door left               
  2066.                5 = curtains open             6 = curtains closed
  2067.                7 = camera lens               8 = diagonal cut
  2068.                9 = verticle halfs sliced
  2069.  
  2070.          <expN2>] delay time of function         (defaults are: 1,20)
  2071.  
  2072.  
  2073.     Example
  2074.         ───────────────────────────────────────────────────────────────
  2075.                          
  2076.         CHRTHIS(7)           <- camera lens
  2077.  
  2078.         Returns: nada
  2079.  
  2080.  
  2081.  
  2082.         ═══════════════════════════════════════════════════════════════
  2083.         DROPBOX()       Drop-down Box
  2084.  
  2085.     Syntax
  2086.     ───────────────────────────────────────────────────────────────
  2087.         DROPBOX(<expN1>,<expN2>,<expN3>,<expN4>,<expN5>,<expN6>,[<expL>,
  2088.                  <expC1>,<expC2>])
  2089.  
  2090.          <expN1>  Top line position
  2091.          <expN2>  Left line position
  2092.          <expN3>  Bottom line position
  2093.          <expN4>  Right line position
  2094.          <expN5>  Box type (see BOXIT() for types)
  2095.          <expN6>  a numeric number for the delay of drawing the box
  2096.         [<expL>   flag that will allow for a shadow or not (optional)
  2097.          <expC1>] title for this box (optional)
  2098.  
  2099.  
  2100.     Example
  2101.         ───────────────────────────────────────────────────────────────
  2102.                          
  2103.         DROPBOX(12,12,15,60,4,110,.t.)
  2104.  
  2105.         Returns: nada
  2106.  
  2107.         ═══════════════════════════════════════════════════════════════
  2108.         DROPCHR()       Drop characters to a specific place on screen
  2109.  
  2110.     Syntax
  2111.     ───────────────────────────────────────────────────────────────
  2112.         DROPCHR(<expN1>,<expN2>,<expC>)
  2113.  
  2114.          <expN1>  Row to drop too
  2115.          <expN2>  Column to drop too
  2116.          <expC>   Text to drop
  2117.  
  2118.  
  2119.     Example
  2120.         ───────────────────────────────────────────────────────────────
  2121.                          
  2122.         DROPCHR(14,14,'Drop the piece, Mugsy!')
  2123.  
  2124.         Returns: a character message
  2125.  
  2126.  
  2127.  
  2128.         ═══════════════════════════════════════════════════════════════
  2129.         ERRMSG()        Display an Error Message for failed function
  2130.  
  2131.     Syntax
  2132.     ───────────────────────────────────────────────────────────────
  2133.         ERRMSG(<expC1>,[<expC2>,<expC3>,<expL>])
  2134.  
  2135.          <expC1>  Message to display
  2136.         [<expC2>  Box Color (optional)
  2137.          <expC3>  Message Color (optional)
  2138.          <expL>]  Flag to have sound or not [default ON]  (optional)
  2139.  
  2140.  
  2141.     Example
  2142.         ───────────────────────────────────────────────────────────────
  2143.                          
  2144.         ERRMSG('More Memory, Cheapskate!')
  2145.  
  2146.         Returns: a character message-in-a-box
  2147.  
  2148.         ═══════════════════════════════════════════════════════════════
  2149.         EXPAND()        Expand text from Center outward
  2150.  
  2151.     Syntax
  2152.     ───────────────────────────────────────────────────────────────
  2153.         EXPAND(<expC>,<expN1>,[<expN2>,<expN3>])
  2154.  
  2155.          <expC>   Text to display
  2156.          <expN1>  Row to display text           
  2157.         [<expN2>  Delay speed to expand at [default 20] (optional)
  2158.          <expN3>] Column to start erxpanding at [default 40] (optional)
  2159.  
  2160.  
  2161.     Example
  2162.         ───────────────────────────────────────────────────────────────
  2163.                          
  2164.         EXPAND('TMCEL is getting spread around',14,80)
  2165.  
  2166.         Returns: a character message
  2167.  
  2168.  
  2169.  
  2170.         ═══════════════════════════════════════════════════════════════
  2171.         HIBAKBIT()      Control the intensity/blink of background
  2172.  
  2173.     Syntax
  2174.     ───────────────────────────────────────────────────────────────
  2175.         HIBAKBIT(<[expL>])
  2176.  
  2177.          [<expL>] TRUE, Background will Blink  [default]  (optinal)
  2178.                   FALSE, Background will be Hi-Intensity
  2179.  
  2180.  
  2181.         Example
  2182.         ───────────────────────────────────────────────────────────────
  2183.                          
  2184.         HIBAKBIT(.f.)
  2185.  
  2186.         Returns: Hi-intensity background
  2187.  
  2188.  
  2189.  
  2190.         ═══════════════════════════════════════════════════════════════
  2191.         KILBOX()        Delete a Box made with MAKBOX()
  2192.  
  2193.     Syntax
  2194.     ───────────────────────────────────────────────────────────────
  2195.         KILBOX(<expB>)
  2196.  
  2197.         <expB> = is the name of the screen buffer to drop
  2198.  
  2199.  
  2200.     Example
  2201.         ───────────────────────────────────────────────────────────────
  2202.                          
  2203.         KILBOX(boxthis)
  2204.  
  2205.         Returns: nada
  2206.  
  2207.         ═══════════════════════════════════════════════════════════════
  2208.         KILWIN()        Delete a Window made with MAKWIN()
  2209.  
  2210.     Syntax
  2211.     ───────────────────────────────────────────────────────────────
  2212.         KILWIN(<expB>,[<expN>])
  2213.  
  2214.         <expB>  = is the name of the screen buffer to drop
  2215.        [<expN>] = delay speed in which to kill the window (optional)
  2216.  
  2217.  
  2218.     Example
  2219.         ───────────────────────────────────────────────────────────────
  2220.                          
  2221.         KILWIN(winthis,140)
  2222.  
  2223.         Returns: nada
  2224.  
  2225.  
  2226.  
  2227.         ═══════════════════════════════════════════════════════════════
  2228.         MAKBOX()        Create an instant box in the screen
  2229.  
  2230.     Syntax
  2231.     ───────────────────────────────────────────────────────────────
  2232.         MAKBOX(<expN1>,<expN2>,<expN3>,<expN4>,<expN5>,<expN6>,[<expC1>,
  2233.                 <expL>,<expC2>])
  2234.  
  2235.          <expN1>  Top line position
  2236.          <expN2>  Left line position
  2237.          <expN3>  Bottom line position
  2238.          <expN4>  Right line position
  2239.          <expN5>  Box type (see BOXIT() for types)
  2240.          <expN6>  a numeric number for the delay of drawing the box
  2241.         [<expC1>  a character to use as a filler
  2242.          <expL>   flag that will allow for a shadow or not (optional)
  2243.          <expC2>] title for this box (optional)
  2244.  
  2245.  
  2246.     Example
  2247.         ───────────────────────────────────────────────────────────────
  2248.                          
  2249.         MAKBOX(12,12,15,60,4,110,'■',.t.,"BOXs 'R US")
  2250.  
  2251.         Returns: nada
  2252.  
  2253.         ═══════════════════════════════════════════════════════════════
  2254.         MAKWIN()        Explode a window on the screen
  2255.  
  2256.     Syntax
  2257.     ───────────────────────────────────────────────────────────────
  2258.         MAKWIN(<expN1>,<expN2>,<expN3>,<expN4>,[<expN5>,<expN6>,<expC1>,
  2259.                 <expB>,<expC2>])
  2260.  
  2261.          <expN1>  Top line position
  2262.          <expN2>  Left line position
  2263.          <expN3>  Bottom line position
  2264.          <expN4>  Right line position
  2265.         [<expN5>  Box type (see BOXIT() for types) (optional)
  2266.          <expN6>  a numeric number for the delay of drawing the box (optional)
  2267.          <expC1>  a color pair for the window (optional)
  2268.          <expB>   the array name to save the window shot for implosition
  2269.          <expC2>] title for this box (optional)
  2270.  
  2271.  
  2272.     Example
  2273.         ───────────────────────────────────────────────────────────────
  2274.                          
  2275.         MAKWIN(12,12,15,60,4,110,'B+/R','SAVTHS',"WINDOWs 'R US")
  2276.  
  2277.         Returns: nada
  2278.  
  2279.         ═══════════════════════════════════════════════════════════════
  2280.         POPBOX()        Pop-down Box
  2281.  
  2282.     Syntax
  2283.     ───────────────────────────────────────────────────────────────
  2284.         POPBOX(<expN1>,<expN2>,<expN3>,<expN4>,<expN5>,<expN6>,[<expL>,
  2285.                  <expC>])
  2286.  
  2287.          <expN1>  Top line position
  2288.          <expN2>  Left line position
  2289.          <expN3>  Bottom line position
  2290.          <expN4>  Right line position
  2291.          <expN5>  Box type (see BOXIT() for types)
  2292.          <expN6>  a numeric number for the delay of drawing the box
  2293.         [<expL>   flag that will allow for a shadow or not (optional)
  2294.          <expC>] title for this box (optional)
  2295.  
  2296.  
  2297.     Example
  2298.         ───────────────────────────────────────────────────────────────
  2299.                          
  2300.         POPBOX(12,12,15,60,4,110,.t.)
  2301.  
  2302.         Returns: nada
  2303.  
  2304.  
  2305.  
  2306.         ═══════════════════════════════════════════════════════════════
  2307.         SCANUP()        Raise text up from the bottom of screen
  2308.  
  2309.     Syntax
  2310.     ───────────────────────────────────────────────────────────────
  2311.         SCANUP(<expC>,[expN>])
  2312.  
  2313.         <expC>  = text to scroll-up from the bottom of screen
  2314.        [<expN>] = delay for scrolling text  (optional)
  2315.  
  2316.  
  2317.     Example
  2318.         ───────────────────────────────────────────────────────────────
  2319.                          
  2320.         SCANUP('This is a test of the Emergency Broadcasting',85)
  2321.         SCANUP('System...had this been a real threat! so on',85)
  2322.  
  2323.         Returns: a character strings
  2324.  
  2325.         ═══════════════════════════════════════════════════════════════
  2326.         SHADWIN()       Shadowed Window
  2327.  
  2328.     Syntax
  2329.     ───────────────────────────────────────────────────────────────
  2330.         SHADWIN(<expN1>,<expN2>,<expN3>,<expN4>,[<expN5>,<expC>])
  2331.  
  2332.          <expN1>  Top line position
  2333.          <expN2>  Left line position
  2334.          <expN3>  Bottom line position
  2335.          <expN4>  Right line position
  2336.         [<expN5>  Box type (see BOXIT() for types)
  2337.          <expC>]  title for this box (optional)
  2338.  
  2339.  
  2340.     Example
  2341.         ───────────────────────────────────────────────────────────────
  2342.                          
  2343.         SHADWIN(10,10,20,50,2,'3 STOOGES')
  2344.  
  2345.         Returns: window with optional text
  2346.  
  2347.  
  2348.  
  2349.         ═══════════════════════════════════════════════════════════════
  2350.         STRECH()        Strech-out a line of text
  2351.  
  2352.     Syntax
  2353.     ───────────────────────────────────────────────────────────────
  2354.         STRECH(<expC>,[<expN>])
  2355.  
  2356.         <expC>  = text to strech-out
  2357.        [<expN>] = space between characters  [default =1]  (optional)
  2358.  
  2359.  
  2360.     Example
  2361.         ───────────────────────────────────────────────────────────────
  2362.                          
  2363.         STRECH('WIDER!',2)
  2364.  
  2365.         Returns: a character string of:  "W  I  D  E  R  !"
  2366.  
  2367.         ═══════════════════════════════════════════════════════════════
  2368.         TICRTPE()       Display text from right-to-left
  2369.  
  2370.     Syntax
  2371.     ───────────────────────────────────────────────────────────────
  2372.         TICRTPE(<expN1>,<expC1>,[<expN2>,<expC2>])
  2373.  
  2374.          <expN1>  Row to display text
  2375.          <expC1>  Text to display           
  2376.         [<expN2>  Delay speed  (optional)
  2377.          <expC2>] Different color to set text to  (optional)
  2378.  
  2379.  
  2380.     Example
  2381.         ───────────────────────────────────────────────────────────────
  2382.                          
  2383.         TICRTPE(12,'Current DOW-JONES average is at 15.78%',70)
  2384.  
  2385.         Returns: a character message, from right-to-left
  2386.  
  2387.  
  2388.  
  2389.         ═══════════════════════════════════════════════════════════════
  2390.         VMENU()         Verticle Menu Display
  2391.  
  2392.     Syntax
  2393.     ───────────────────────────────────────────────────────────────
  2394.         VMENU(<expC1>,[<expC2>,<expN>,<expC3>,<expC4>])
  2395.  
  2396.          <expC1>  The array that contains the menu options
  2397.         [<expC2>  Title of the menu box (optional)
  2398.          <expN>   Box Type [default 1] (optional, see BOXIT() for types)
  2399.          <expC3>  Box Color (optional)
  2400.          <expC4>] Title Color (optional)
  2401.  
  2402.         Example
  2403.         ───────────────────────────────────────────────────────────────
  2404.                          
  2405.         VMENU('options','MAIN',2,'W/R')
  2406.  
  2407.         Returns: verticle menu, with above value set
  2408.  
  2409.         ═══════════════════════════════════════════════════════════════
  2410.         YESNO()         Display a Yes/No Message Box
  2411.  
  2412.     Syntax
  2413.     ───────────────────────────────────────────────────────────────
  2414.         YESNO(<expC1>,[<expC2>,<expC3>,<expC4>])
  2415.  
  2416.          <expC1>  The YES Message to display
  2417.         [<expC2>  The NO Message to display (optional)
  2418.          <expC3>  Box Color (optional)
  2419.          <expC4>] Text Color (optional)
  2420.  
  2421.  
  2422.     Example
  2423.         ───────────────────────────────────────────────────────────────
  2424.                          
  2425.         YESNO('OK','NO-WAY')
  2426.  
  2427.         Returns: message, and waits for <enter> on answer
  2428.  
  2429.  
  2430.  
  2431.         ═══════════════════════════════════════════════════════════════
  2432.         YESNO2()        Display a Yes/No Message Box, with a question
  2433.  
  2434.     Syntax
  2435.     ───────────────────────────────────────────────────────────────
  2436.         YESNO2(<expC1>,[<expN>,<expC2>,<expC3>,<expL>,<expC4>,<expC5>])
  2437.  
  2438.          <expC1>  A question to ask
  2439.         [<expN>   Left-Top corner of Box (optional)
  2440.          <expC2>  The YES Message to display (optional)
  2441.          <expC3>  The NO Message to display (optional)
  2442.          <expC4>  Box Color (optional)
  2443.          <expC5>] Prompt Text Color (optional)
  2444.  
  2445.  
  2446.     Example
  2447.         ───────────────────────────────────────────────────────────────
  2448.                          
  2449.         YESNO2('APPLES STINK!','YA','NA',.t.,'R+/W','G/W')
  2450.  
  2451.         Returns: Asks if Apples STINK!, waits for response
  2452.  
  2453.                                                      ■ENVIRONMENT
  2454.         ═══════════════════════════════════════════════════════════════
  2455.         CTOF()          Convert Celsius to Fahrenheit
  2456.  
  2457.     Syntax
  2458.     ───────────────────────────────────────────────────────────────
  2459.         CTOF(<none>)
  2460.  
  2461.  
  2462.  
  2463.     Example
  2464.         ───────────────────────────────────────────────────────────────
  2465.                          
  2466.         CTOF()
  2467.                  Opens a window, and asks for Celsius
  2468.  
  2469.         Returns: nada
  2470.  
  2471.  
  2472.  
  2473.         ═══════════════════════════════════════════════════════════════
  2474.         FTOC()          Convert Fahrenheit to Celsius
  2475.  
  2476.     Syntax
  2477.     ───────────────────────────────────────────────────────────────
  2478.         FTOC(<none>)
  2479.  
  2480.  
  2481.  
  2482.     Example
  2483.         ───────────────────────────────────────────────────────────────
  2484.                          
  2485.         FTOC()
  2486.                  Opens a window, and asks for Fahrenheit
  2487.  
  2488.         Returns: nada   
  2489.  
  2490.  
  2491.  
  2492.         ═══════════════════════════════════════════════════════════════
  2493.         HPWF()          Horsepower of a Waterfall
  2494.  
  2495.     Syntax
  2496.     ───────────────────────────────────────────────────────────────
  2497.         HPWF(<expN1>,<expN2>,<expN3>)
  2498.  
  2499.          <expN1> Cross-section of water in square feet
  2500.          <expN2> Velocity of Flow in Feet-Per-Minute
  2501.          <expN3> Head of fall in Feet
  2502.  
  2503.  
  2504.     Example
  2505.         ───────────────────────────────────────────────────────────────
  2506.                          
  2507.         HPWF(4,600,50)
  2508.  
  2509.         Returns: a character value of  225.45 HorsePower
  2510.  
  2511.         ═══════════════════════════════════════════════════════════════
  2512.         L2THD()         Lightning to Thunder Distance
  2513.  
  2514.     Syntax
  2515.     ───────────────────────────────────────────────────────────────
  2516.         L2THD(<expN>)
  2517.  
  2518.          <expN> Time in seconds from lightning to thunder
  2519.  
  2520.  
  2521.     Example
  2522.         ───────────────────────────────────────────────────────────────
  2523.                          
  2524.         L2THD(5)
  2525.  
  2526.         Returns: a character value of  1.10 miles
  2527.  
  2528.  
  2529.  
  2530.         ═══════════════════════════════════════════════════════════════
  2531.         WNDCHIL()       Calculates the WindChill Factor
  2532.  
  2533.     Syntax
  2534.     ───────────────────────────────────────────────────────────────
  2535.         WNDCHIL(<none>)
  2536.  
  2537.  
  2538.         Example
  2539.         ───────────────────────────────────────────────────────────────
  2540.                          
  2541.         WNDCHIL()
  2542.                  Opens a window, and asks for Wind Speed, Current Temp.
  2543.  
  2544.         Returns: nada
  2545.  
  2546.                                                      ■NETWORK
  2547.         ═══════════════════════════════════════════════════════════════
  2548.         FILELOK()       Lock a File on a Network
  2549.  
  2550.     Syntax
  2551.     ───────────────────────────────────────────────────────────────
  2552.         FILELOK(<none>)
  2553.  
  2554.  
  2555.         Example
  2556.         ───────────────────────────────────────────────────────────────
  2557.                          
  2558.         IF FILELOK()
  2559.          DO UPDATES
  2560.         ENDIF
  2561.  
  2562.         Returns: a logical value, or an alarm notice
  2563.  
  2564.  
  2565.  
  2566.         ═══════════════════════════════════════════════════════════════
  2567.         NETAVL()        Open a File for Exclusive or Shared use'
  2568.  
  2569.     Syntax
  2570.     ───────────────────────────────────────────────────────────────
  2571.         NETAVL(<expC>,<expL2>,[<expN1>...<expN8>])
  2572.  
  2573.          <expC1>      Name of file to use
  2574.          <expL>       .T. = Exclusive,   .f. = Shared
  2575.         [<expC2...8>] Include up to 8 Indexes (optional
  2576.  
  2577.  
  2578.     Example
  2579.         ───────────────────────────────────────────────────────────────
  2580.             
  2581.         SET EXCLUSIVE OFF
  2582.         IF ! NETAVL('EARNINGS,.T.)
  2583.          RETURN
  2584.         ENDIF
  2585.  
  2586.         Returns:  .T. if available,   .f. if NOT!
  2587.  
  2588.         ═══════════════════════════════════════════════════════════════
  2589.         RECLOK()        Lock a Record of a File on a Network
  2590.  
  2591.     Syntax
  2592.     ───────────────────────────────────────────────────────────────
  2593.         RECLOK(<none>)
  2594.  
  2595.         Example
  2596.         ───────────────────────────────────────────────────────────────
  2597.                          
  2598.         IF RECLOK()
  2599.          REPLACE PHONE with mPHONE
  2600.         ENDIF
  2601.  
  2602.         Returns: a logical value, or an alarm notice
  2603.  
  2604.                                                      ■TOOLS
  2605.         ═══════════════════════════════════════════════════════════════
  2606.         AGE()           Calculate an Age
  2607.  
  2608.     Syntax
  2609.     ───────────────────────────────────────────────────────────────
  2610.         AGE(<expD>,<expC>)
  2611.  
  2612.          <expD> current or any year
  2613.          <expC> year born, or searching for
  2614.  
  2615.  
  2616.     Example
  2617.         ───────────────────────────────────────────────────────────────
  2618.                          
  2619.         ANS = AGE(DATE(),'12/51')
  2620.         ? ANS
  2621.  
  2622.         Returns: a numeric value of  39
  2623.  
  2624.  
  2625.  
  2626.         ═══════════════════════════════════════════════════════════════
  2627.         ALARMS()        A variety of Alert Sounds
  2628.  
  2629.     Syntax
  2630.     ───────────────────────────────────────────────────────────────
  2631.         ALARMS(<expN>)
  2632.  
  2633.          <expN> a numeric value of the following list:
  2634.  
  2635.            1   Dual-Alert Tone-Set #1
  2636.            2   HI-LO-HI
  2637.            3   Single Tone
  2638.            4   Small Tune
  2639.            5   The Fifth    (NO, not the Booze!)
  2640.            6   HI-LO Buzz
  2641.            7   Charge!
  2642.            8   LO-MED-HI 
  2643.            9   Siren
  2644.           10   NANNY,NANNY,BOO,BOO
  2645.           11   Thud
  2646.           12   HI-LO Beep
  2647.           13   Raspberry
  2648.           14   DUAL-ALERT Tone-Set #2
  2649.           15   Looney Tunes Theme
  2650.  
  2651.  
  2652.     Example
  2653.         ───────────────────────────────────────────────────────────────
  2654.                          
  2655.         ALARMS(5)
  2656.  
  2657.         Returns: Bethovens 5th tune
  2658.  
  2659.         ═══════════════════════════════════════════════════════════════
  2660.         ANSICHK()       Checks to see if ANSI.SYS is in CONFIG.SYS
  2661.  
  2662.     Syntax
  2663.     ───────────────────────────────────────────────────────────────
  2664.         ANSICHK(<none>)
  2665.  
  2666.  
  2667.         Example
  2668.         ───────────────────────────────────────────────────────────────
  2669.                          
  2670.         CLEA
  2671.         ANSICHK()
  2672.         ? NONOMSG
  2673.         QUIT
  2674.  
  2675.         Returns: NULL if ALL is OK, else a message if NOT
  2676.  
  2677.  
  2678.  
  2679.         ═══════════════════════════════════════════════════════════════
  2680.         BEEPS()         Ring the Bell n times
  2681.  
  2682.     Syntax
  2683.     ───────────────────────────────────────────────────────────────
  2684.         BEEPS([<expN>])
  2685.  
  2686.         [<expN>] Number of times to ring the Bell [default 1 beep]
  2687.  
  2688.          NOTE: This will be at 1-Second intervals, NO-MATTER
  2689.                what CPU is used...
  2690.  
  2691.     Example
  2692.         ───────────────────────────────────────────────────────────────
  2693.                          
  2694.         BEEPS(4)
  2695.  
  2696.         Returns: nada      
  2697.  
  2698.  
  2699.  
  2700.         ═══════════════════════════════════════════════════════════════
  2701.         CHKCNFG()       Checks for certain amount of Files & Buffers
  2702.  
  2703.     Syntax
  2704.     ───────────────────────────────────────────────────────────────
  2705.         CHKCNFG(<expC>,[<expN1>,<expN2>])
  2706.  
  2707.          <expC>   File to test
  2708.         [<expN1>  Number of Files to test for (optional)
  2709.          <expN2>] Number of Buffers to test for (optional)
  2710.  
  2711.  
  2712.     Example
  2713.         ───────────────────────────────────────────────────────────────
  2714.                          
  2715.         CHKCNFG('CONFIG.SYS',41,17)
  2716.  
  2717.         Returns: nada, or a warning message                  
  2718.  
  2719.         ═══════════════════════════════════════════════════════════════
  2720.         CHKENV()        Test Clipper Environment Variables
  2721.  
  2722.     Syntax
  2723.     ───────────────────────────────────────────────────────────────
  2724.         CHKENV(<expN1>,<expN2>,<expN3>,<expN4>,<expN5>,<expN6>)
  2725.  
  2726.          <expN1> Numeric value for: 'F' Files
  2727.          <expN2> Numeric value for: 'V' Max. Memory Available
  2728.          <expN3> Numeric value for: 'R' Reserve Memory (Runtime)
  2729.          <expN4> Numeric value for: 'E' Expanded Memory
  2730.          <expN5> Numeric value for: 'X' Excluded Memory (indexs)
  2731.          <expN6> Numeric value for: 'S' ?
  2732.  
  2733.          NOTE: ALL VALUES *MUST* BE ENTERED!  If one is NOT needed,
  2734.                then enter a 0 at its position.
  2735.  
  2736.     Example
  2737.         ───────────────────────────────────────────────────────────────
  2738.                          
  2739.         IF CHKENV(65,22,26,0,0,0)
  2740.          @ 10,14 SAY 'OK'
  2741.         ELSE
  2742.          @ 10,14 SAY 'BAD!'
  2743.         ENDIF
  2744.  
  2745.         Returns: a logical value
  2746.  
  2747.  
  2748.  
  2749.         ═══════════════════════════════════════════════════════════════
  2750.         CHKMEM()        Pop-Up window with current Memory Free
  2751.  
  2752.     Syntax
  2753.     ───────────────────────────────────────────────────────────────
  2754.         CHKMEM(<none>)
  2755.  
  2756.  
  2757.         Example
  2758.         ───────────────────────────────────────────────────────────────
  2759.                          
  2760.         EXTERNAL CHKMEM
  2761.         SET KEY 306 TO CHKMEM()
  2762.  
  2763.         Now when you want to see Free Memory, just press ALT-M
  2764.  
  2765.         Returns: nada                           
  2766.  
  2767.         ═══════════════════════════════════════════════════════════════
  2768.         DELAY()         Delay for n number of seconds
  2769.  
  2770.     Syntax
  2771.     ───────────────────────────────────────────────────────────────
  2772.         DELAY([<expN>])
  2773.  
  2774.         [<expN>] Number of seconds of Delay  [default 1 sec.]
  2775.  
  2776.          NOTE: This will be at 1-Second intervals, NO-MATTER
  2777.                what CPU is used...
  2778.  
  2779.     Example
  2780.         ───────────────────────────────────────────────────────────────
  2781.                          
  2782.         DELAY(7)
  2783.  
  2784.         Returns: nada      
  2785.  
  2786.  
  2787.  
  2788.         ═══════════════════════════════════════════════════════════════
  2789.         DSKCHK()        Checks a Floppy drive for Free Space
  2790.  
  2791.     Syntax
  2792.     ───────────────────────────────────────────────────────────────
  2793.         DSKCHK(<expC1>,[<expC2>,<expC3>])
  2794.  
  2795.          <expC1>  Database name to transfer
  2796.         [<expC2>  Floppy Drive to transfer to  [Default 'A'] (optional) 
  2797.          <expC3>] Another name to give file  [Default <expC1>] (optional)
  2798.  
  2799.  
  2800.     Example
  2801.         ───────────────────────────────────────────────────────────────
  2802.                          
  2803.         DSKCHK('BUGS','B','GONE')
  2804.  
  2805.         Returns: nada, or an ERROR MSG.
  2806.  
  2807.         ═══════════════════════════════════════════════════════════════
  2808.         FLDCNT()        Counts number of Fields in a DataBase
  2809.  
  2810.     Syntax
  2811.     ───────────────────────────────────────────────────────────────
  2812.         FLDCNT(<expC>)
  2813.  
  2814.          <expC> Name of DataBase to check      
  2815.  
  2816.  
  2817.     Example
  2818.         ───────────────────────────────────────────────────────────────
  2819.                          
  2820.         SET EXCLUSIVE OFF
  2821.         FILN = '        '
  2822.         @ 10,20 SAY 'ENTER DATABASE NAME: ' GET FILN PICT '!!!!!!!!'
  2823.         READ
  2824.         FILN = RTRIM('&FILN')
  2825.         ANS = FLDCNT('&FILN')
  2826.         IF EMPTY(ANS)
  2827.         ELSE
  2828.          @ 12,22 SAY '[ &FILN ] HAS: ' + TRANSFORM(ANS,'9999') + ' FIELDS'
  2829.         ENDIF
  2830.  
  2831.         Returns: a numeric value
  2832.  
  2833.  
  2834.  
  2835.         ═══════════════════════════════════════════════════════════════
  2836.         INDXBAR()       Graphically Displays an Index Percentage
  2837.  
  2838.     Syntax
  2839.     ───────────────────────────────────────────────────────────────
  2840.         INDXBAR(<expC1>,[<expC2>,<expN>,<expL>])
  2841.  
  2842.          <expC1> Index Name
  2843.         [<expC2> Index Key(s) [Defaults to <expC1>]  (optional)
  2844.          <expN>  Row to start display at [Defaults to 9]  (optional)
  2845.          <expL>] Display current Record Counter  (optional)
  2846.  
  2847.          NOTE: Will EXIT immediately if DataBase is NOT found,
  2848.                or the KEY FIELD is WRONG or MISSING!
  2849.  
  2850.     Example
  2851.         ───────────────────────────────────────────────────────────────
  2852.                          
  2853.         USE HOMER
  2854.         INDXBAR('BART','PROBLEMS',14,.T.)
  2855.         RETURN
  2856.  
  2857.         Returns: nada
  2858.  
  2859.         ═══════════════════════════════════════════════════════════════
  2860.         INT2STR()       Convert an Numeric to a String
  2861.  
  2862.     Syntax
  2863.     ───────────────────────────────────────────────────────────────
  2864.         INT2STR(<expN>,[<expL>])
  2865.  
  2866.          <expN>  Numeric number to pass
  2867.         [<expL>] .T. if wanting 2 Decimal places  (optional)
  2868.  
  2869.         NOTE: Handy for removing the Left-Side "WHITE SPACE"
  2870.               of the results returned.
  2871.  
  2872.  
  2873.     Example
  2874.         ───────────────────────────────────────────────────────────────
  2875.                          
  2876.         ANS = INT2STR(30.0406,.T.)
  2877.         ? ANS
  2878.  
  2879.         Returns: a character value of  30.04
  2880.  
  2881.  
  2882.  
  2883.         ═══════════════════════════════════════════════════════════════
  2884.         LIN()           Number of Lines to skip when Printing
  2885.  
  2886.     Syntax
  2887.     ───────────────────────────────────────────────────────────────
  2888.         LIN(<expN>)
  2889.  
  2890.          <expN> Number of lines to skip
  2891.  
  2892.         NOTE: Although PROW() will work, this still can serve a purpose
  2893.  
  2894.     Example
  2895.         ───────────────────────────────────────────────────────────────
  2896.            
  2897.         SET PRINT ON
  2898.         ? 'This is the first line...'
  2899.         LIN(7)
  2900.         ? 'This is line eight...'
  2901.         SET PRINT OFF
  2902.  
  2903.         Returns: nada      
  2904.  
  2905.         ═══════════════════════════════════════════════════════════════
  2906.         MSGON/MSGOFF()  Display a single-line message
  2907.  
  2908.     Syntax
  2909.     ───────────────────────────────────────────────────────────────
  2910.         MSGON([<expC1>,<expL>,<expC2>,<expN1>,<expN2>])
  2911.  
  2912.         [<expC1>  Message you want to display  (optional)
  2913.          <expL>   .T. want tone alert [Default]  .f. NO tone alert (optional)
  2914.          <expC2>  Alternate Colors to use  (optional)
  2915.          <expN1>  Top position to display Box  (optional)
  2916.          <expN2>] Left position to display Box  (optional)
  2917.  
  2918.         NOTE: "Now Printing... please wait..." ,
  2919.               will display, if <expC1> is NOT passed.
  2920.  
  2921.     Example
  2922.         ───────────────────────────────────────────────────────────────
  2923.                          
  2924.         MSGON('Re-Indexing the Wine List') 
  2925.         INDXBAR('WINES')
  2926.         MSGOFF()
  2927.  
  2928.         Returns: nada         
  2929.  
  2930.         ═══════════════════════════════════════════════════════════════
  2931.         PADLEFT()       Pad a Character string to the left      
  2932.  
  2933.     Syntax
  2934.     ───────────────────────────────────────────────────────────────
  2935.         PADLEFT(<expC1>,<expN>,<expC2>)
  2936.  
  2937.          <expC1> Character String to Pad
  2938.          <expN>  FULL-Length of the Character String to Pad
  2939.          <expC2> Character to Pad the String with
  2940.  
  2941.  
  2942.     Example
  2943.         ───────────────────────────────────────────────────────────────
  2944.                          
  2945.         PADLEFT('010111',8,'0')
  2946.  
  2947.         Returns: a character value of  "00010111"
  2948.  
  2949.  
  2950.  
  2951.         ═══════════════════════════════════════════════════════════════
  2952.         PADRGHT()       Pad a Character string to the Right     
  2953.  
  2954.     Syntax
  2955.     ───────────────────────────────────────────────────────────────
  2956.         PADRGHT(<expC1>,<expN>,<expC2>)
  2957.  
  2958.          <expC1> Character String to Pad
  2959.          <expN>  FULL-Length of the Character String to Pad
  2960.          <expC2> Character to Pad the String with
  2961.  
  2962.  
  2963.     Example
  2964.         ───────────────────────────────────────────────────────────────
  2965.                          
  2966.         PADRGHT('777',12,'4')
  2967.  
  2968.         Returns: a character value of  "77744444"
  2969.  
  2970.  
  2971.  
  2972.         ═══════════════════════════════════════════════════════════════
  2973.         PADSPAC()       Pad a Character string with Spaces      
  2974.  
  2975.     Syntax
  2976.     ───────────────────────────────────────────────────────────────
  2977.         PADRGHT(<expC>,<expN>)
  2978.  
  2979.          <expC> Character String to add spaces, (or strip-off)
  2980.          <expN> Number of positions to the right
  2981.  
  2982.  
  2983.     Example
  2984.         ───────────────────────────────────────────────────────────────
  2985.                          
  2986.         PADSPAC('T.M.S. Micro',14)
  2987.  
  2988.         Returns: a character string of  "T.M.S. Micro  "       
  2989.  
  2990.  
  2991.         ═══════════════════════════════════════════════════════════════
  2992.         PASSCHK()       Password Checking routine      
  2993.  
  2994.     Syntax
  2995.     ───────────────────────────────────────────────────────────────
  2996.         PASSCHK(<expC>,[<expN>])
  2997.  
  2998.          <expC>  Character String PassWord to check against
  2999.         [<expN>] Row to place Box on  [Default 14]  (optional)
  3000.  
  3001.         NOTE: Naturally, the PASSWORD 'WILL-NOT' show on screen
  3002.  
  3003.     Example
  3004.         ───────────────────────────────────────────────────────────────
  3005.                          
  3006.         IF PASSCHK('YOURDAD'12)
  3007.          DO SOMETHING
  3008.         ELSE
  3009.          RETU
  3010.         ENDIF
  3011.  
  3012.         Returns: a logical value                          
  3013.  
  3014.  
  3015.  
  3016.         ═══════════════════════════════════════════════════════════════
  3017.         PERCENT()       Percent of how far into a process
  3018.  
  3019.     Syntax
  3020.     ───────────────────────────────────────────────────────────────
  3021.         PERCENT(<expN1>,<expN2>)
  3022.  
  3023.          <expN1> Starting Record number [Usually 1]
  3024.          <expN2> Ending Record number
  3025.  
  3026.  
  3027.     Example
  3028.         ───────────────────────────────────────────────────────────────
  3029.                          
  3030.         USE AFILE
  3031.         DO WHIL ! EOF()
  3032.          @ 24,20 SAY PENCENT(RECNO(),RECCOUNT())
  3033.          REPLACE SOMETHING WITH mSOMETHING
  3034.          SKIP
  3035.         ENDDO
  3036.  
  3037.         Returns: a character value                        
  3038.  
  3039.         ═══════════════════════════════════════════════════════════════
  3040.         PICKIT()        A Front-End to  ACHOICE()
  3041.  
  3042.     Syntax
  3043.     ───────────────────────────────────────────────────────────────
  3044.         PICKIT(<expN1>,<expN2>,<expN3>,<expN4>,<expC1>,[<expC2>,<expC3>,
  3045.                <expC4>,<expN5>,<expL>,<expC5>,<expC6>,<expN6>,<expC7>])
  3046.  
  3047.          <expN1>  Top line position
  3048.          <expN2>  Left line position
  3049.          <expN3>  Bottom line position
  3050.          <expN4>  Right line position
  3051.          <expC1>  the array name
  3052.         [<expC2>  Box Color  (optional)
  3053.          <expC3>  Bar Color  (optional)
  3054.          <expC4>  Status-line Color  (optional)
  3055.          <expN5>  Length of the array  (optional)
  3056.          <expL>   Weather to TAG items or not  (optional) 
  3057.          <expC5>  Un-Selected Color  (optional)
  3058.          <expC6>  HiLite item Color  (optional)
  3059.          <expN6>  Initial Element to HiLite  (optional)
  3060.          <expC7>] DrawBar Color   (optional)
  3061.  
  3062.  
  3063.     Example
  3064.         ───────────────────────────────────────────────────────────────
  3065.                          
  3066.         tcnt = 137
  3067.         PRIVATE cityst_[tcnt], results
  3068.         RESULTS = PICKIT(16,7,22,73,cityst_,'','','',tcnt,.f.,GR+/B')
  3069.         ...
  3070.         ... etc.
  3071.  
  3072.         Returns: a numeric value
  3073.  
  3074.         ═══════════════════════════════════════════════════════════════
  3075.         PRNTOK()        Checks to see if printer is ON-LINE & Ready
  3076.  
  3077.     Syntax
  3078.     ───────────────────────────────────────────────────────────────
  3079.         PRNTOK([<expL>])
  3080.  
  3081.         [<expL>] .T. Set Device to Print  for @ SAY  [default]  (optional)
  3082.                  .f. Set Print On  for ? or ?? 
  3083.  
  3084.         Example
  3085.         ───────────────────────────────────────────────────────────────
  3086.            
  3087.         IF PRNTOK()
  3088.          DO LISTING
  3089.          SET DEVICE TO SCREEN
  3090.         ENDIF
  3091.  
  3092.         Returns: nada, or an Error Msg. with option to try again
  3093.  
  3094.  
  3095.  
  3096.         ═══════════════════════════════════════════════════════════════
  3097.         PRTOF()         Checks for Printer Top-of-Form
  3098.  
  3099.     Syntax
  3100.     ───────────────────────────────────────────────────────────────
  3101.         PRTOF([<expL>])
  3102.  
  3103.         [<expL>] .T. will check for Top-of-Form, and send EJECT if needed
  3104.                  .f. will return logical state of .T. or .f.  [default]
  3105.  
  3106.         Example
  3107.         ───────────────────────────────────────────────────────────────
  3108.  
  3109.         ...
  3110.         ? 'NAME        ADDRESS             CITY       ST  ZIPCODE'           
  3111.         IF CNT = 55
  3112.          CNT = CNT + 1
  3113.         ELSE
  3114.          PRTOF(.t.)
  3115.          CNT = 1
  3116.         ENDIF
  3117.         ... etc.
  3118.  
  3119.         Returns: a logical value, or Ejects the page
  3120.  
  3121.         ═══════════════════════════════════════════════════════════════
  3122.         RANDFIL()       Random Filename Generator
  3123.  
  3124.     Syntax
  3125.     ───────────────────────────────────────────────────────────────
  3126.         RANDFIL(<expC>)
  3127.  
  3128.          <expC> Name of DataBase to create Random Filename from
  3129.  
  3130.         NOTE: Filename of <expC> *MUST* already exist, or you
  3131.               will RETUrn inneadiately!
  3132.  
  3133.     Example
  3134.         ───────────────────────────────────────────────────────────────
  3135.                          
  3136.         USE
  3137.         ANS = RANDFIL('MAX')
  3138.         USE &ANS
  3139.  
  3140.         Returns: a character value  filename
  3141.  
  3142.  
  3143.  
  3144.         ═══════════════════════════════════════════════════════════════
  3145.         SERIAL()        Returns your Libranries Serial Number
  3146.  
  3147.     Syntax
  3148.     ───────────────────────────────────────────────────────────────
  3149.         SERIAL([<expL>])
  3150.  
  3151.         [<expL>] .T. = disable clearing Serial # Window
  3152.                  .f. = Clear Serial # Window, after display [default]
  3153.  
  3154.         NOTE: If TRUE, then a: KILWIN(boxser,nn)  will have to be issued. 
  3155.               nn = is a value for the delay of imploding window
  3156.  
  3157.  
  3158.     Example
  3159.         ───────────────────────────────────────────────────────────────
  3160.                          
  3161.         SERIAL(.t.)
  3162.         ...
  3163.         ...
  3164.         KILWIN(boxser,90)
  3165.  
  3166.         Returns: nada           
  3167.  
  3168.         ═══════════════════════════════════════════════════════════════
  3169.         THEPATH()       Find any File on the PATH Statement
  3170.  
  3171.     Syntax
  3172.     ───────────────────────────────────────────────────────────────
  3173.         THEPATH(<expC>)
  3174.  
  3175.          <expC> Name of File to search for
  3176.  
  3177.  
  3178.     Example
  3179.         ───────────────────────────────────────────────────────────────
  3180.                          
  3181.         PTH = THEPATH('STD')       <--<< Good 'OL StupenDOS               
  3182.         ? PTH                            (Sorry Xtree, you loose!)
  3183.  
  3184.         Returns: a character value  C:\UTILS\   (NOTE: on my system)
  3185.  
  3186.  
  3187.  
  3188.         ═══════════════════════════════════════════════════════════════
  3189.         VERTMCL()       The Version # of this Library
  3190.  
  3191.     Syntax
  3192.     ───────────────────────────────────────────────────────────────
  3193.         VERTMCL()
  3194.  
  3195.  
  3196.         Example
  3197.         ───────────────────────────────────────────────────────────────
  3198.                          
  3199.         VERTMCL()
  3200.         INKEY(0)
  3201.  
  3202.  
  3203.         Returns: a character value
  3204.  
  3205.         ═══════════════════════════════════════════════════════════════
  3206.         VLD_AC()        Checks for a Valid AreaCode
  3207.  
  3208.     Syntax
  3209.     ───────────────────────────────────────────────────────────────
  3210.         VLD_AC(<expN>)        
  3211.  
  3212.          <expN> AreaCode number to check      
  3213.  
  3214.  
  3215.     Example
  3216.         ───────────────────────────────────────────────────────────────
  3217.                          
  3218.         ...
  3219.         mAC = SPACE(3)
  3220.         SET DELI TO '[]'
  3221.         SET DELI ON
  3222.         @ 10,30 SAY 'Enter AC: ' GET mAC PICT '999' VALID VLD_AC(@mAC)
  3223.         READ
  3224.         SET DELI OFF
  3225.         CENTER(20,' AreaCode for this area is [ &mAC ] ','BG/N')
  3226.         ...
  3227.  
  3228.  
  3229.         Returns: a numeric value
  3230.  
  3231.         ═══════════════════════════════════════════════════════════════
  3232.         VLD_CAN()       Checks for a Valid Canadian Postal Code
  3233.  
  3234.     Syntax
  3235.     ───────────────────────────────────────────────────────────────
  3236.         VLD_CAN(<expC1>,<expC2>)
  3237.  
  3238.  
  3239.          <expC1> Providence State Code
  3240.          <expC2> Providence Postal Code
  3241.  
  3242.          NOTE: An input of: MBR   R3B 1G4 - would be Good (TRUE)
  3243.                      while: MBR   M1T 1G4 - would be BAD  (FALSE)
  3244.                                     M1T IS-NOT in the Manitoba region,
  3245.                                     rather, it is in the Ontario region
  3246.     Example
  3247.         ───────────────────────────────────────────────────────────────
  3248.                          
  3249.         ...
  3250.         mST = SPACE(3)
  3251.         mPOSTCOD = SPACE(7)
  3252.         @ 10, 4 GET mST PICT '@!'
  3253.         @ 12, 4 GET mPOSTCOD PICT '!9! 9!9' VALID VLD_CAN(@mST,@mPOSTCOD)
  3254.         READ
  3255.         ...
  3256.  
  3257.  
  3258.         Returns: a logical value
  3259.  
  3260.  
  3261.  
  3262.         ═══════════════════════════════════════════════════════════════
  3263.         VLD_ST()        Checks for a Valid State Code
  3264.  
  3265.     Syntax
  3266.     ───────────────────────────────────────────────────────────────
  3267.         VLD_ST(<expC>)        
  3268.  
  3269.          <expC> 2-Digit (abbreviation) for State Code
  3270.  
  3271.  
  3272.     Example
  3273.         ───────────────────────────────────────────────────────────────
  3274.                          
  3275.         ...
  3276.         mST = SPACE(2)
  3277.         SET DELI TO '[]'
  3278.         SET DELI ON
  3279.         @ 10,30 SAY 'Enter ST: ' GET mST PICT '!!' VALID VLD_ST(@mST)
  3280.         READ
  3281.         SET DELI OFF
  3282.         CENTER(20,' State Code for this City is [ &mST ] ','BG/N')
  3283.         ...
  3284.  
  3285.  
  3286.         Returns: a numeric value
  3287.  
  3288.  
  3289.